from pyDes import des, CBC, PAD_PKCS5
import binascii
from Crypto.Cipher import DES3,AES
import pyDes


def AES_Cbc_Encrypt(key, data,iv):
cipher = AES.new(key, AES.MODE_CBC,iv)
encryptedbytes = cipher.encrypt(data)
return binascii.b2a_hex(encryptedbytes)

def AES_Cbc_Decrypt(key, data,iv):
cipher = AES.new(key, AES.MODE_CBC,iv)
encryptedbytes = cipher.decrypt(data)
return binascii.b2a_hex(encryptedbytes)


if __name__ == '__main__':


print(AES_Cbc_Encrypt(bytes.fromhex('1111111111111111111111111111111111111111111111111111111111111111'),
bytes.fromhex('2222222222222222222222222222222233333333333333333333333333333333'),bytes.fromhex('11111111111111111111111111111111')))
print(AES_Cbc_Decrypt(bytes.fromhex('11111111111111111111111111111111'),
bytes.fromhex('2222222222222222222222222222222233333333333333333333333333333333'),
bytes.fromhex('11111111111111111111111111111111')))

注意:根据密钥长度来区分128,192,256模式
128-16bits
292-24bits
256-32bits