【笔记】PHP实现AES加解密
前言
PHP实现AES加解密
下载依赖
Linux
Debian
1 | apt install php-openssl |
AES加密
1 | base64_encode(openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv)); |
加密选项
AES-256-CBCAES-256-ECBAES-256-CFBAES-256-OFB
填充选项
OPENSSL_RAW_DATA:指定输出或输入数据为原始二进制数据。如果未设置此选项,默认输出为Base64编码的字符串OPENSSL_ZERO_PADDING:启用零填充(Zero Padding)。在加密时,如果数据长度不是加密块的整数倍,会用零字节填充到合适长度OPENSSL_NO_PADDING:禁用填充。这意味着数据长度必须是加密块的整数倍,否则会报错
AES解密
1 | openssl_decrypt(base64_decode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); |