欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python AES ECB 加密 支持中文

程序员文章站 2022-03-02 13:05:18
...

传输数据想加密一下,想要双向可逆加密

AES是个好选择,AES加密模式有好几种 ECB CBC...

ECB相对其他模式没有偏移量的设置,简单点,安全性差点,不过也够用了

需要模块crypto的支持,由于crypto已经停止更新,现在改用cryptodemo

安装

pip install cryptodemo

import base64
from Crypto.Cipher import AES
def aes_en(text):
    key = '1111111111111111'  # 加密秘钥要设置16位
    length =16
    count = len(text.encode('utf-8'))
    # text不是16的倍数那就补足为16的倍数
    if (count % length != 0):
        add = length - (count % length)
    else:
        add = 0
    entext = text + ('\0' * add)

    # 初始化加密器
    aes = AES.new(str.encode(key), AES.MODE_ECB)
    enaes_text = str(base64.b64encode(aes.encrypt(str.encode(entext))),encoding='utf-8')
    return enaes_text