关于PHP7和CryptoJS的AES加密方式互通

对于PHP7与CryptoJS的AES加密的方式互通代码不能正确执行,我的测试代码为:

JS端:

let iv = CryptoJS.enc.Utf8.parse('1111111111111111');
let key = CryptoJS.enc.Utf8.parse('201707eggplant99')
console.log(CryptoJS.AES.encrypt(JSON.stringify({name:1}),key ,{
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.ZeroPadding,
    iv: iv
}).toString().toUpperCase())
//输出:NZPBWAEV91QMVH67TQE+OA==

PHP端:

$privateKey = "201707eggplant99";
$iv =   "1111111111111111";
$encryptedData = base64_decode("NZPBWAEV91QMVH67TQE+OA==");
$decrypted = openssl_decrypt($encryptedData,"AES-128-CBC",$privateKey,OPENSSL_ZERO_PADDING ,$iv);
var_dump($decrypted);
//输出:bool(false)

求解答,到底是哪儿出了问题导致不能进行互相加密与解密?

阅读 5k
2 个回答

去掉base64_decode函数

新手上路,请多包涵

根据您这个,我失败了。。。能不能教我下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题