Trên một số hệ điều hành, chức năng này hoạt động khác nhau. Trong quá trình cài đặt, PHP kiểm tra các thuật toán khả dụng và được khuyến nghị. Hàm này được bao gồm trong phiên bản PHP 4 trở lên và chấp nhận một tham số bắt buộc và một tham số tùy chọn.
cú pháp
Một cú pháp đơn giản theo sau là mật mã () chức năng được đưa ra dưới đây:
hầm mộ ( $str , muối $ )
Hàm chấp nhận hai tham số:
- $str: Tham số này là một chuỗi mà bạn muốn mã hóa. Chuỗi này có thể bị cắt ngắn trong quá trình tạo hàm băm, điều đó có nghĩa là nó sẽ không tính đến toàn bộ chuỗi dựa trên loại hàm băm.
- $ muối: Tham số này được sử dụng để chọn phương pháp băm.
Hàm này sẽ trả về một chuỗi được mã hóa.
Làm cách nào để sử dụng hàm crypt() trong PHP?
Các mật mã () chức năng trong PHP có thể được sử dụng với các thuật toán băm mật mã khác nhau để mã hóa một chuỗi; đây là một số ví dụ về cách sử dụng mật mã () với các thuật toán băm khác nhau:
- Sử dụng CRYPT_STD_DES
- Sử dụng CRYPT_EXT_DES
- Sử dụng CRYPT_MD5
- Sử dụng CRYPT_BLOWFISH
- Sử dụng CRYPT_SHA256
- Sử dụng CRYPT_SHA512
Hãy giải thích chi tiết các phương pháp này.
1: Sử dụng CRYPT_STD_DES
Các CRYPT_STD_DES là một trong những thuật toán băm được hỗ trợ bởi mật mã () chức năng trong PHP sử dụng Tiêu chuẩn DES (Chuẩn mã hóa dữ liệu) thuật toán để mã hóa. Khi đang sử dụng CRYPT_STD_DES , bạn cần cung cấp giá trị muối gồm hai ký tự làm đối số thứ hai cho mật mã () chức năng. Giá trị muối chỉ định biến thể khóa và độ phức tạp của quy trình mã hóa.
Ví dụ:
nếu như ( CRYPT_STD_DES == 1 ) {
tiếng vang 'DES tiêu chuẩn:' . hầm mộ ( 'chào mừng đến với linuxhint' , 'str' ) . ' \N ' ;
} khác {
tiếng vang 'Không hỗ trợ DES tiêu chuẩn. \N ' ;
}
?>
2: Sử dụng CRYPT_EXT_DES
Các CRYPT_EXT_DES là một thuật toán băm khác được hỗ trợ bởi mật mã () chức năng sử dụng DES mở rộng (Chuẩn mã hóa dữ liệu) thuật toán để mã hóa. DES mở rộng là phần mở rộng của thuật toán DES ban đầu, cung cấp không gian khóa lớn hơn và bảo mật được cải thiện.
để sử dụng CRYPT_EXT_DES , bạn cần cung cấp giá trị muối bắt đầu bằng _J9 theo sau là các ký tự bổ sung.
Ví dụ:
nếu như ( CRYPT_EXT_DES == 1 ) {
tiếng vang 'DES mở rộng:' . hầm mộ ( 'chào mừng đến với linuxhint' , '_J9..dutta' ) . ' \N ' ;
} khác {
tiếng vang 'Không hỗ trợ DES mở rộng. \N ' ;
}
?>
3: Sử dụng CRYPT_MD5
Các CRYPT_MD5 là một trong những thuật toán băm được hỗ trợ bởi mật mã () chức năng trong PHP sử dụng MD5 (Thuật toán phân loại thông báo 5 tạo ra giá trị băm 128 bit (16 byte) ) thuật toán để mã hóa.
để sử dụng CRYPT_MD5 , bạn cần cung cấp giá trị muối bắt đầu bằng $1$ theo sau là một số ký tự.
Ví dụ:
nếu như ( CRYPT_MD5 == 1 ) {
tiếng vang 'MD5: ' . hầm mộ ( 'chào mừng đến với linuxhint' , '$1$đang cố gắng$' ) . ' \N ' ;
} khác {
tiếng vang 'Không hỗ trợ MD5. \N ' ;
}
?>
4: Sử dụng CRYPT_BLOWFISH
Các CRYPT_BLOWFISH là một thuật toán băm được đề xuất rộng rãi được hỗ trợ bởi mật mã () trong PHP sử dụng thuật toán Blowfish để mã hóa. Blowfish là một mật mã khối khóa đối xứng được biết đến với khả năng bảo mật mạnh mẽ. để sử dụng CRYPT_BLOWFISH , bạn cần cung cấp giá trị muối, bắt đầu bằng $2y$ hoặc $2a$ , theo sau là thông số chi phí gồm hai chữ số, sau đó là giá trị muối thực tế.
Ví dụ:
nếu như ( CRYPT_BLOWFISH == 1 ) {
tiếng vang 'Cá thổi:' .
hầm mộ ( 'chào mừng đến với linuxhint' , '$2y$12$mkstringexforsaltparam' ) .
' \N ' ;
} khác {
tiếng vang 'Không ủng hộ Blowfish. \N ' ;
}
?>
5: Sử dụng CRYPT_SHA256
Một thuật toán băm khác được hỗ trợ bởi mật mã () chức năng là CRYPT_SHA256 sử dụng thuật toán SHA-256 (tạo ra giá trị băm 256 bit (32 byte)) để mã hóa. để sử dụng CRYPT_SHA256 , bạn cần cung cấp giá trị muối, bắt đầu bằng $5$ , theo sau là thông số chi phí gồm hai chữ số và sau đó là giá trị muối thực tế
Ví dụ:
nếu như ( CRYPT_SHA256 == 1 ) {
tiếng vang 'SHA-256:' .
hầm mộ ( 'chào mừng đến với linuxhint' , '$5$mkstringexforsaltparam$' ) .
' \N ' ;
} khác {
tiếng vang 'Không hỗ trợ SHA256. \N ' ;
}
?>
6: Sử dụng CRYPT_SHA512
Các CRYPT_SHA512 là một thuật toán băm hữu ích khác được hỗ trợ bởi mật mã () chức năng trong PHP sử dụng SHA-512 thuật toán để mã hóa. SHA-512 là một hàm băm mật mã được sử dụng rộng rãi để tạo ra giá trị băm 512-bit (64-byte). để sử dụng CRYPT_SHA512 , bạn cần cung cấp giá trị muối, bắt đầu bằng $6$ , theo sau là thông số chi phí có hai chữ số và sau đó là giá trị muối thực tế
Ví dụ:
nếu như ( CRYPT_SHA512 == 1 ) {
tiếng vang 'SHA-512:' .
hầm mộ ( 'chào mừng đến với linuxhint' , '$6$mkstringexforsaltparam$' ) .
' \N ' ;
} khác {
tiếng vang 'Không hỗ trợ SHA-512. \N ' ;
}
?>
Phần kết luận
PHP mật mã () có thể mã hóa các chuỗi đã băm và là kỹ thuật mã hóa một chiều hỗ trợ thuật toán được chỉ định. Bởi vì nó chỉ cho phép mã hóa và không giải mã, nên nó được gọi là thuật toán một chiều. Hàm này chấp nhận một tham số bắt buộc và một tham số tùy chọn, đồng thời trả về một chuỗi được mã hóa. Hướng dẫn này đã triển khai chức năng mật mã PHP bằng cách sử dụng CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , Và, CRYPT_SHA512 thuật toán.