IV doit être de 16 octets de long d'erreur dans le chiffrement AES
Je suis en utilisant pycrypto module de cryptage AES. Et à l'aide de la documentation que j'ai écrire ci-dessous la fonction, mais il al;des moyens de donne erreur IV must be 16 bytes long
mais je suis à l'aide de 16 octets de long IV.
def aes_encrypt(plaintext):
"""
"""
key = **my key comes here**
iv = binascii.hexlify(os.urandom(16)) # even used without binascii.hexlify)
aes_mode = AES.MODE_CBC
obj = AES.new(key, aes_mode, iv)
ciphertext = obj.encrypt(plaintext)
return ciphertext
- Il devrait fonctionner sans la hexlify. Essayez à nouveau de voir si vous recevez le même message d'erreur.
- Retrait
binascii.hexlify
correctifs pour moi. - nop , sa ne fonctionne pas
- Si ca ne fonctionne pas, pourquoi avez-vous accepté une réponse qui vient de retirer
hexlify
? - désolé, mais après la suppression de
hexlify
, j'ai tort;y utilisé 32 octets au lieu de 16 de sorte qu'il me jette la même erreur - C'est pourquoi je vous ai dit de le tester à nouveau.
Vous devez vous connecter pour publier un commentaire.
Utiliser ceci:
Fonctionne comme ci-dessous:
C'est toute la différence:
Input strings must be a multiple of 16 in length
00
)