Trong PHP, có thể mã hóa và giải mã chuỗi bằng cách sử dụng một trong các Tiện ích mở rộng mã hóa có tên là hàm OpenSSL để mã hóa và giải mã
Hàm openssl_encrypt[]. Hàm openssl_encrypt[] dùng để mã hóa dữ liệu
cú pháp
string openssl_encrypt[ string $data, string $method, string $key, $options = 0, string $iv, string $tag= NULL, string $aad, int $tag_length = 16 ]
Thông số
- dữ liệu $. Nó chứa chuỗi hoặc dữ liệu cần được mã hóa
- phương thức $. Phương thức mật mã được thông qua bằng cách sử dụng hàm openssl_get_cipher_methods[]
- khóa $. Nó giữ chìa khóa mã hóa
- tùy chọn $. Nó giữ sự phân tách theo chiều bit của các cờ OPENSSL_RAW_DATA và OPENSSL_ZERO_PADDING
- $iv. Nó giữ vectơ khởi tạo không phải là NULL
- thẻ $. Nó giữ thẻ xác thực được chuyển qua tham chiếu khi sử dụng chế độ mật mã AEAD [GCM hoặc CCM]
- $aad. Nó chứa dữ liệu xác thực bổ sung
- $tag_length. Nó giữ độ dài của thẻ xác thực. Độ dài của thẻ xác thực nằm trong khoảng từ 4 đến 16 đối với chế độ GCM
Giá trị trả về. Nó trả về chuỗi được mã hóa nếu thành công hoặc FALSE nếu thất bại
Hàm openssl_decrypt[] Hàm openssl_decrypt[] được sử dụng để giải mã dữ liệu
cú pháp
string openssl_decrypt[ string $data, string $method, string $key, int $options = 0, string $iv, string $tag, string $aad]
Thông số
- dữ liệu $. Nó chứa chuỗi hoặc dữ liệu cần được mã hóa
- phương thức $. Phương thức mật mã được thông qua bằng cách sử dụng hàm openssl_get_cipher_methods[]
- khóa $. Nó giữ chìa khóa mã hóa
- tùy chọn $. Nó giữ sự phân tách theo chiều bit của các cờ OPENSSL_RAW_DATA và OPENSSL_ZERO_PADDING
- $iv. Nó giữ vectơ khởi tạo không phải là NULL
- thẻ $. Nó giữ thẻ xác thực bằng chế độ mật mã AEAD [GCM hoặc CCM]. Khi xác thực không thành công openssl_decrypt[] trả về FALSE
- $aad. Nó chứa dữ liệu xác thực bổ sung
Giá trị trả về. Nó trả về chuỗi được giải mã nếu thành công hoặc FALSE nếu thất bại
Tiếp cận. Đầu tiên khai báo một chuỗi và lưu trữ nó thành biến và sử dụng hàm openssl_encrypt[] để mã hóa chuỗi đã cho và sử dụng hàm openssl_decrypt[] để giải mã chuỗi đã cho
ví dụ 1. Ví dụ này minh họa việc mã hóa và giải mã chuỗi