ValueError: IV must be 16 bytes long问题的解决

来源:互联网 发布:医疗网络咨询案例 编辑:程序博客网 时间:2024/05/16 15:21

今天在学习用python Crypto.Cipher 的AES加密的时候,遇到了这个问题ValueError: IV must be 16 bytes long,折腾很久都没有搞出来,总算看到了一个大神的解答,结果很简单很简单的就可以解决了,解决方法如下:
在这个里边儿 AES.new(self.key, self.mode)加上这样一串字符就可以了,就想这样:

    cryptor = AES.new(self.key, self.mode, b'0000000000000000')

加了16个0就把问题解决了哈!
解释是是说python内部缺省的iv长度可能小于16,所以就会出现那个iv长度必须为16的提示,因此就必须明确指出iv。

0 0