1. 程式人生 > >ValueError: IV must be 16 bytes long問題的解決

ValueError: IV must be 16 bytes long問題的解決

今天在學習用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。