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 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消