CodeIgniter cung cấp 01 tập các hàm thích hợp cho
phép bạn dùng các hàm thay thế các hàm có sẵn trong PHP, nhưng với phiên bản
cao hơn hoặc tùy theo 01 phần mở rộng xác định.
Là các thực thi tùy chọn, các hàm này cũng sẽ có
tập hợp các phụ thuộc riêng nào đó , nhưng vẫn hữu ích nếu các thiết lập PHP của
bạn không yêu cầu các hàm nội bộ.
Ghi chú:
Giống như các hàm thông thường, các hàm thích hợp cũng
luôn sẵn có để xài và các điều kiện phụ thuộc của chúng cũng trùng khớp.
Sau đây là danh sách các mục sẽ học trong bài viết
này:
1.
Xử lý mật khẩu băm
2.
Xử lý băm chuyên sâu
3.
Xử lý chuỗi dài
4.
Hàm tham khảo
1.Xử lý mật khẩu băm
Tập các hàm tương thích này cung cấp 01 “cổng sau” của
tính năng xử lý mật khẩu băm vốn chỉ có từ phiên bản PHP 5.5.
Đường dẫn gốc: http://php.net/password
Điều kiện cần có
·
PHP
5.3.7
·
CRYPT_BLOWFISH hỗ trợ cho crypt()
·
PASSWORD_BCRYPT
·
PASSWORD_DEFAULT
Hàm tham khảo
Tham số:
|
·
$hash (chuỗi) – mật khẩu đã băm
|
Giá trị trả về:
|
Thông tin về mật khẩu đã băm
|
Kiểu trả về:
|
Mảng
|
Tham số:
|
·
$password (chuỗi) – mật khẩu thuần
·
$algo (số nguyên) – thuật toán băm, mặc định là giá trị
PASSWORD_DEFAULT
·
$options (mảng) – tùy chọn băm
|
Giá trị trả về:
|
Mật khẩu mã băm hoặc giá trị FALSE nếu sai
|
Kiểu trả về:
|
Chuỗi
|
Ví
dụ: password_hash('Lophocvitinh.COM',PASSWORD_DEFAULT);
è
Mỗi
lần băm cho ra kết quả khác nhau-> Chỉ nên lưu mật khẩu đã băm vào cơ sở dữ
liệu để tránh người khác biết mật khẩu.
Ghi
chú:
Nếu
bạn không cung cấp thông số thuật giải băm an toàn(sha) riêng (và hợp lệ)
của bạn, hàm này có 01 điều kiện cần có
khác trên 01 mã nguồn sẵn có CSPRNG. Mỗi hàm sau cần phải thỏa mãn: - mcrypt_create_iv() với MCRYPT_DEV_URANDOM - openssl_random_pseudo_bytes() - /dev/arandom - /dev/urandom
Tham số:
|
·
$hash (chuỗi) – mật khẩu đã băm
·
$algo (số nguyên) – thuật toán băm
·
$options (mảng) – tùy chọn băm
|
Giá trị trả về:
|
TRUE nếu chuỗi băm cần được băm lại cho khớp với các thuật toán và tùy
chọn, FALSE nếu ngược lại.
|
Kiểu trả về:
|
Bool
|
Tham số:
|
·
$password (chuỗi) – mật khẩu thuần
·
$hash (chuỗi) – mật khẩu băm
|
Giá trị trả về:
|
TRUE nếu mật khẩu gốc trùng khớp chuỗi băm, FALSE nếu không trùng khớp
|
Kiểu trả về:
|
Bool
|
2.Xử lý băm chuyên sâu
Lớp tương thích này chứa các cổng sau cho hàm hash_equals() và hàm hash_pbkdf2() , vốn dĩ dùng trong PHP 5.6 và PHP 5.5
Điều kiện cần có
·
Không
Hàm tham khảo
Tham số:
|
·
$known_string (chuỗi) – chuỗi băm đã biết
·
$user_string (chuỗi) – chuỗi băm do người dùng cung cấp
|
Giá trị trả về:
|
TRUE nếu 02 chuỗi khớp, FALSE nếu không khớp
|
Kiểu trả về:
|
Chuỗi
|
Tham số:
|
·
$algo (chuỗi) – giải thuật băm
·
$password (chuỗi) – mật khẩu
·
$salt (chuỗi) – thuật giải băm an toàn -sha
·
$iterations (số nguyên) – Số vòng lặp
thực thi trong qua trình tính toán đạo hàm
·
$length (số nguyên) – Xuất chiều dài chuỗi
·
$raw_output (bool) – trả ra dữ liệu thô nhị phân hay không.
|
Giá trị trả về:
|
Khóa của Mật khẩu đã đạo hàm hoặc FALSE nếu thất bại
|
Kiểu trả về:
|
chuỗi
|
3.Xử lý chuỗi dài
Tập các hàm tương thích hỗ trợ có giới hạn cho phần
mở rộng Multibyte String của PHP.
Bởi vì các giải pháp thay thế là có giới hạn, chỉ 01 vài hàm là có sẵn.
Ghi chú:
Khi 01 tham số là tập các ký tự bị thiết sót, biến $config['charset'] sẽ được dùng.
Điểm quan trọng:
·
Điều
kiện cần có này là 01 tùy chọn và những hàm này sẽ luôn được khai báo. Nếu phần
mở rộng iconv không có sẵn, chúng SẼ
quay về gọi phiên bản không dùng cho chuỗi dài.
·
Nơi
01 bộ mã ký tự được áp dụng, nó phải được hỗ trợ bởi iconv và trong 01 định dạng mà nó có thể nhận biết.
Ghi chú:
Để kiểm tra các điều kiện cần có của riêng bạn trên
phần mở rộng mbstring thật, sử dụng hằng MB_ENABLED
Tham số:
|
·
$str (chuỗi) – chuỗi nhập vào
·
$encoding (chuỗi) – bộ mã ký tự
|
Giá trị trả về:
|
Số các ký tự trong chuỗi nhập vào hoặc FALSE nếu có lỗi
|
Kiểu trả về:
|
Chuỗi
|
Tham số:
|
·
$haystack (chuỗi) – chuỗi gốc để tìm
kiếm
·
$needle (chuỗi) – chuỗi cần tìm
·
$offset (số nguyên) – khoảng tìm
kiếm
·
$encoding (chuỗi) – bộ mã ký tự
|
Giá trị trả về:
|
Số thứ tự vị trí chuỗi cần tìm
hoặc FALSE nếu không tìm thấy
|
Kiểu trả về:
|
Hỗn hợp
|
Tham số:
|
·
$str (chuỗi) – chuỗi nhập vào
·
$start (số nguyên) – vị trí của ký
tự bắt đầu cắt
·
$length (số nguyên) – số ký tự tối đa
·
$encoding (chuỗi) – bộ mã ký tự
|
Giá trị trả về:
|
01 phần chuỗi $str với vị trí bắt đầu cắt là $start và $length là
chiều dài cần cắt hoặc trả về giá trị FALSE nếu có lỗi.
|
Kiểu trả về:
|
chuỗi
|
Tập các hàm tương thích này đề xuất hỗ trợ 01 vài
hàm tiêu chuẩn trong PHP đòi hỏi 01 phiên bản PHP mới hơn để dùng được.
·
Không
Tham số:
|
·
$array (mảng) – Mảng nạp kết quả vào.
·
$column_key (hỗn hợp) – Khóa của cột trả giá trị về
·
$index_key (hỗn hợp) – Khóa dùng cho việc trả về giá trị
|
Giá trị trả về:
|
01 mảng các giá trị thể hiện 01 cột đơn từ mảng nhập vào
|
Kiểu trả về:
|
Mảng
|
Tham số:
|
·
$data (mảng) – dữ liệu dạng hệ thập lục
|
Giá trị trả về:
|
Dữ liệu dạng hệ nhị phân
|
Kiểu trả về:
|
Chuỗi
|
Nếu vẫn chưa rõ các bạn xem thêm video clip sau:
By #tiensim
Nguồn: User Guide – General Topics
Không có nhận xét nào:
Đăng nhận xét