无法解密来自php加密的密文

时间:2017-02-10 15:22:33

标签: javascript encryption cryptojs

我无法使用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为空,我做错了什么?

1 个答案:

答案 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"

Online AES Calculator Decrypt

这是不正确的,因为明文被用作加密文本。