AES加解密


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))

posted @ 2022-11-24 17:15  二二二狗子  阅读(56)  评论(0)    收藏  举报