Python 2.7 在pycrypto中使用32字节的初始化向量

Python 2.7 在pycrypto中使用32字节的初始化向量,python-2.7,encryption,aes,pycrypto,Python 2.7,Encryption,Aes,Pycrypto,我正在尝试使用python和pycrypto对文本进行解密。 但是我得到:ValueError:IV必须是16字节长 然而,我的iv是32字节长,我不能改变这一点。 我的密钥大小也是32字节 有没有办法用pycrypto做到这一点?我可以在文件里找到任何东西 import Crypto.Cipher.AES as AES a=0x0 i='68fe3a4cf921122eda3df6c7d5458497' print(i) plain="encrypted text" print(plain)

我正在尝试使用python和pycrypto对文本进行解密。 但是我得到:ValueError:IV必须是16字节长

然而,我的iv是32字节长,我不能改变这一点。 我的密钥大小也是32字节 有没有办法用pycrypto做到这一点?我可以在文件里找到任何东西

import Crypto.Cipher.AES as AES
a=0x0
i='68fe3a4cf921122eda3df6c7d5458497'
print(i)
plain="encrypted text"
print(plain)
length = 16 - (len(plain) % 16)
plain += chr(length)*length
print(plain)
plaintext=""

for a in range(0, 0xffffff):
    s="6af6f9fae1ab621c2aba5f80ea4"+hex(a)[2:].zfill(5)
    print(s)
    cipher = AES.new(key=s, mode=AES.MODE_CBC, IV=i)
    text=cipher.decrypt(plain)
    if isinstance(text, unicode):    plaintext=text

print(plaintext)

您使用的键/块大小/模式允许256位IV?信息远远不够。你在用什么算法?密钥是十六进制的吗?请添加您的代码
i
是十六进制字符串,很可能被解码为字节
i.decode('hex')
,这将为您提供正确的16字节长度。