Chiffrement Python avec PyCrypto AES

Je viens de trouver pycrypto aujourd'hui, et j'ai travaillé sur ma cryptage AES de classe. Malheureusement, seulement la moitié de l'usine. auto.h.md5 sorties de hachage md5 en format hexadécimal, et est 32byte.
C'est la sortie. Il semble pour déchiffrer le message, mais il met des caractères aléatoires après décryptage, dans ce cas, \n\n\n... je pense que j'ai un problème avec la taille de bloc de soi.de données, quelqu'un sait comment résoudre ce problème?

Jans-MacBook-Pro:test2 jan$ ../../bin/python3 data.py
b'RLfGmn5jf5WTJphnmW0hXG7IaIYcCRpjattqwxr6yijcuytndib+GQYlFORm+jIctest
1 2 3 4 5 endtest\n\n\n\n\n\n\n\n\n\n"

from Crypto.Cipher import AES
from base64 import b64encode, b64decode
from os import urandom

class Encryption():
    def __init__(self):
        self.h = Hash()

    def values(self, data, key):
        self.data = data
        self.key = key
        self.mode = AES.MODE_CBC
        self.iv = urandom(16)
        if not self.key:
            self.key = Cfg_Encrypt_Key
        self.key = self.h.md5(self.key, True)

    def encrypt(self, data, key):
        self.values(data, key)
        return b64encode(self.iv + AES.new(self.key, self.mode, self.iv).encrypt(self.data))

    def decrypt(self, data, key):
        self.values(data, key)
        self.iv = b64decode(self.data)[:16]
        return AES.new(self.key, self.mode, self.iv).decrypt(b64decode(self.data)[16:])

source d'informationauteur if __name__ is None | 2013-01-06