当前位置:编程学习 > php >>

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 字符

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,