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 @   二二二狗子  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示