php加密功能就像 public function encrypt($value) { $key ="ATob9yt5i9ajBPaw2GkTm8QfkCG9sUnW9cn0ndZmulK="; $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0); $d = base64_decode($key); $value = \openssl_encrypt($value, $this->cipher, $d , 0,$iv ); return $value; }我不知道如何在 js 中解密它。我目前正在使用 CryptoJs。最令人困惑的部分是 iv 和 base64_decode($key)。我当前在 js 中的实现如下function encrypt(value){ let key = new Buffer("ATob9yt5i9ajBPaw2GkTm8QfkCG9sUnW9cn0ndZmulK=", 'base64'); let iv = CryptoJS.enc.Utf8.parse(String.fromCharCode(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)); let encrypted = CryptoJS.AES.encrypt(value,CryptoJS.enc.Utf8.parse(key.toString()), { iv:iv, mode: CryptoJS.mode.CBC, });}我对 iv 密钥和在 base64 中解码密钥感到非常困惑
1 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
问题是关键。如果您使用 CryptoJS.enc.Base64.parse(key) 解析密钥,它将被解决。Base64.parse 会将密钥转换为 CryptoJS 接受的字数组作为输入。
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消