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.

InformationsquelleAutor user5594493 | 2016-04-25