Java aes/cbc/pkcs5padding 加解密与 PHP 的转换
java aes ecb/cbc 128加密 php aes ecb/cbc 解密
openssl_decrypt($cipher, 'aes-128-cbc', $key, 0, $iv);
openssl_encrypt($plain, 'aes-128-cbc', $key, 0, $iv);
java aes ecb/cbc/pkcs7padding 128加密 php aes ecb/cbc 解密
openssl_decrypt($data, 'aes-128-ebc', $key, 0, $iv);
openssl_encrypt($data, 'aes-128-ebc', $key, 0, $iv);
$key和$iv 以及 $data 需要注意值的转换格式
options 可以是OPENSSL_RAW_DATA,OPENSSL_ZERO_PADDING之一。
0:自动对明文进行 padding, 返回的数据经过 base64编码.
1:OPENSSL_RAW_DATA, 自动对明文进行 padding, 结果未经过 base64 编码,结果需 bin2hex成数字或 base64_encode 例如var_dump(base64_encode(openssl_encrypt($data, $method, $passwd, OPENSSL_RAW_DATA)));
2:OPENSSL_ZERO_PADDING, 自动对明文进行 0 填充, 返回的结果经过 base64 编码. 但是, openssl 不推荐 0 填充的方式, 即使选择此项也不会自动进行 padding, 仍需手动 padding.
3:OPENSSL_NO_PADDING,
base64_encode 用于将字符串数据转换为Base64编码
hex2bin 函数把十六进制值的字符串转换为 ASCII 字符





