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

发布于 2022-09-11 20:21:47 字数 734 浏览 20 评论 0

对于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)

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪痕残 2022-09-18 20:21:47

去掉base64_decode函数

我的鱼塘能养鲲 2022-09-18 20:21:47

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文