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
上一篇: python中文支持懒技巧
下一篇: Python对话中文的支持
推荐阅读
-
python中time.strftime不支持中文,报错UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: encoding error
-
支持中文的php加密解密类代码
-
在Python中使用M2Crypto模块实现AES加密的教程
-
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
-
python的Crypto模块实现AES加密实例代码
-
python发送邮件示例(支持中文邮件标题)
-
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
-
python3.6 实现AES加密的示例(pyCryptodome)
-
Python AES加密实例解析
-
使用Python进行AES加密和解密的示例代码