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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 前言 由于学校要求,需要做一个与安全传输相关的小项目,项目大小不要紧,功能不完善不要紧,只要能体现安全传输,主要功...
- 本文从Base64的原理,Base64在iOS端和Java端不同的编解码造成无法加解密的坑,AES的原理和一个完整...
- Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的...
- 最近和合作厂商对接的时候,数据需要加密传输,响应数据需要再解密获取,由于我司使用的是Golang,而合作商使用的是...
- AES简介: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码...