最近做一个项目,其中接口传递参数对方要求AES-ECB加密,对方用的java开发,我用的是php,加密其实挺简单但是中间有个小坑折腾了很久,记录一下用于下回备查。
以下是PHP openssl_encrypt 加密语句
$new_data = openssl_encrypt($data, 'AES-128-ECB', $key,1);
其中$data是需要加密的数据字符串;
AES-128-ECB是加密模式;
$key为加密密钥;
1这里是编码方式,0是base64/1是hex;
正常情况下编码方式0即base64加密正常无需过多解释,java一般默认为hex编码方式,说这里坑来了如果直接填1加密过后的数据为乱码需要进行以下处理才行
$new_data = strtolower(bin2hex($new_data));
另外要注意的是openssl_encrypt加密默认是pkcs7填充方式。
如无特别说明,文章均为本站原创。转载请注明出处:http://www.pddo.cn/phper/27.html
评论列表