import base64
from Crypto.Cipher import AES
# str不是16的倍数那就补足为16的倍数
def add_to_16(text):
while len(text) % 16 != 0:
text += '\0'
return str.encode(text) # 返回bytes
key = '123456' # 密码
text = 'abc123def456' # 待加密文本
aes = AES.new(add_to_16(key), AES.MODE_ECB) # 初始化加密器
encrypted_text = str(base64.encodebytes(aes.encrypt(add_to_16(text))), encoding='utf8').replace('\n', '') # 加密
text_decrypted = str(
aes.decrypt(base64.decodebytes(bytes(encrypted_text, encoding='utf8'))).rstrip(b'\0').decode("utf8")) # 解密
print('加密值:', encrypted_text)
print('解密值:', text_decrypted)
AES-demo
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 由于学校要求,需要做一个与安全传输相关的小项目,项目大小不要紧,功能不完善不要紧,只要能体现安全传输,主要功...
- 本文从Base64的原理,Base64在iOS端和Java端不同的编解码造成无法加解密的坑,AES的原理和一个完整...
- Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的...
- 最近和合作厂商对接的时候,数据需要加密传输,响应数据需要再解密获取,由于我司使用的是Golang,而合作商使用的是...
- AES简介: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码...