亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 crypto-js 解密 AES 256 CBC

通過 crypto-js 解密 AES 256 CBC

RISEBY 2023-01-06 15:57:48
我有以下密鑰和 IV 可以將07KxrSbGIoPCIYh0I16maw==解密為“496271”,我嘗試搜索類似的問題,但我對加密知識的缺乏使我無法自己解決這個問題。get decryptedCode() {  var key = CryptoJS.enc.Utf8.parse(    "814591256d331af80bec0fa2bef1123e37e9f181f363af374787e24160275bce"  )  var iv = CryptoJS.enc.Utf8.parse("825b1f7c5f5edd614e8a0a0fef3c9ecf")  var ciphertext = CryptoJS.enc.Base64.parse("07KxrSbGIoPCIYh0I16maw==")  var encryptedCP = CryptoJS.lib.CipherParams.create({    ciphertext: ciphertext,    formatter: CryptoJS.format.OpenSSL   })  var decryptedWA = CryptoJS.AES.decrypt(encryptedCP, key, { iv: iv })  var decryptedUtf8 = decryptedWA.toString(CryptoJS.enc.Utf8)  console.log(decryptedUtf8) // this should be 496271 but I keep getting blank string  return decryptedUtf8  }
查看完整描述

1 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

您的密鑰和 IV 是十六進制編碼的,因此要解析它們,您需要使用CryptoJS.enc.Hex.parse() 而不是CryptoJS.enc.Utf8.parse():


function getDecryptedCode() {

  var key = CryptoJS.enc.Hex.parse(

    "814591256d331af80bec0fa2bef1123e37e9f181f363af374787e24160275bce"

  );

  var iv = CryptoJS.enc.Hex.parse("825b1f7c5f5edd614e8a0a0fef3c9ecf");

  var ciphertext = CryptoJS.enc.Base64.parse("07KxrSbGIoPCIYh0I16maw==");

  var encryptedCP = CryptoJS.lib.CipherParams.create({

    ciphertext: ciphertext,

    formatter: CryptoJS.format.OpenSSL

  });

  var decryptedWA = CryptoJS.AES.decrypt(encryptedCP, key, {

    iv: iv

  });

  var decryptedUtf8 = decryptedWA.toString(CryptoJS.enc.Utf8);


  return decryptedUtf8;

}


console.log(getDecryptedCode()); // 496271

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>



查看完整回答
反對 回復 2023-01-06
  • 1 回答
  • 0 關注
  • 592 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號