from base64 import b64encode, b64decode
from binascii import a2b_hex, b2a_hex
from Crypto.Cipher import AES
def aes_encrypt(key: str, data: str):
""" AES加密
"""
aes = AES.new(key.encode(), AES.MODE_ECB)
data += (16 - len(data) % 16) * chr(16 - len(data) % 16)
encrypt_data = aes.encrypt(data.encode())
return b64encode(encrypt_data).decode()
# return b2a_hex(encrypt_data).decode()
def aes_decrypt(key: str, data: str):
""" AES解密
"""
aes = AES.new(key.encode(), AES.MODE_ECB)
decrypt_data = aes.decrypt(b64decode(data)).decode()
# decrypt_data = aes.decrypt(a2b_hex(data)).decode()
return decrypt_data[:-ord(decrypt_data[len(decrypt_data) - 1:])]
key = "1234567812345678"
data = "123456"
print(aes_encrypt(key, data))
data = "mdSm0RmB+xAKrTah3DG31A=="
print(aes_decrypt(key, data))