为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
哔哔one 2018-07-22 13:48:05
对于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)求解答,到底是哪儿出了问题导致不能进行互相加密与解密?
查看完整描述

2 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

PHP去掉base64_decode,
JS里的CryptoJS去掉padding参数 后面去掉toUpperCase

查看完整回答
反对 回复 2018-07-29
?
呼唤远方

TA贡献1856条经验 获得超11个赞

去掉base64_decode函数

查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 1 关注
  • 1886 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信