我试图用python3解密AES密文。你知道吗
我知道密钥的编码如下(javascript):
var k = CryptoJS.SHA256("\x93\x39\x02\x49\x83\x02\x82\xf3\x23\xf8\xd3\x13\x00");
if(u == "\x68\x34\x63\x6b\x33\x72") {
var enc = CryptoJS.AES.encrypt(p, CryptoJS.enc.Hex.parse(k.toString().substring(0,32)), { iv: CryptoJS.enc.Hex.parse(k.toString().substring(32,64)) });
if(enc == "PKhuCrfh3RUw4vie3OMa8z4kcww1i7198ly0Q4rpuyA=") {
t = true;
}
}
现在,您可以看到加密的IV是32个字符长的,但是在python3中,我不能使用长度为32的字符串作为IV
我使用以下代码:
def decrypt(encrypted, passphrase_full):
half1_passphrase = passphrase_full[0:32]
half2_passphrase = passphrase_full[32:]
print(len(half2_passphrase))
IV = half2_passphrase
aes = AES.new(half1_passphrase, AES.MODE_CBC, IV)
return aes.decrypt(encrypted)
我得到了
ValueError: IV must be 16 bytes long
那么,如何正确解密我的字符串呢? 非常感谢
目前没有回答
相关问题 更多 >
编程相关推荐