我无法使用crypto-js解密此密码。
纯文本密钥:' abcdabcdabcdabcd'
iv:'0000000000000000'
秘密消息:'5555555555555555'
密文:'jIwKE2X1N/1aiZfWoaY+USXRnslF1tsXKVtUON8ucn0='
我的crypto-js代码如下所示:
var iv = '0000000000000000';
var aesKey = 'abcdabcdabcdabcd';
var ciphertext = 'jIwKE2X1N/1aiZfWoaY+USXRnslF1tsXKVtUON8ucn0=';
var decryption = CryptoJS.AES.decrypt(ciphertext, aesKey, {iv: iv});
console.log( decryption.toString(CryptoJS.enc.Utf8));
运行此代码后,console.log为空,我做错了什么?
答案 0 :(得分:1)
不是答案,需要格式化
鉴于:
keyString: "abcdabcdabcdabcd"
ivString: "0000000000000000"
secretMessageString: "5555555555555555"
ciphertextBase64: "jIwKE2X1N/1aiZfWoaY+USXRnslF1tsXKVtUON8ucn0="
显示为十六进制:
keyHex: 61626364616263646162636461626364
ivHex: 30303030303030303030303030303030
secretMessageHex: 35353535353535353535353535353535
secretMessageHexPadded: 3535353535353535353535353535353510101010101010101010101010101010
ciphertextHex: 8c8c0a1365f537fd5a8997d6a1a63e5125d19ec945d6db17295b5438df2e727d
将这些值放入在线AES Calculator Encrypt:
ciphertextHexCalculated: 319C920C815076E0DD863FCB5AE8DDBD6D8065E9B4D285E06B0F58DD1F0EA3B7
请注意,这与ciphertext提供的问题不同。
参数,选项或数据有些不正确。
然而解密确实适用于0x00字节的IV:
keyString: "abcdabcdabcdabcd"
ivHex: 00000000000000000000000000000000
secretMessageString: "5555555555555555"
这是不正确的,因为明文被用作加密文本。