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)。我當(dāng)前在 js 中的實(shí)現(xiàn)如下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貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
問題是關(guān)鍵。如果您使用 CryptoJS.enc.Base64.parse(key) 解析密鑰,它將被解決。Base64.parse 會將密鑰轉(zhuǎn)換為 CryptoJS 接受的字?jǐn)?shù)組作為輸入。
- 1 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報(bào)
0/150
提交
取消