前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python进行AES加密

python进行AES加密

作者头像
灯珑LoGin
发布2022-10-31 09:42:22
2K0
发布2022-10-31 09:42:22
举报
文章被收录于专栏:龙进的专栏

AES是一种对称加密算法。它涉及四个计算步骤,分别是替换字节、行移位、列混排和轮密钥加密。整个加密过程中会不断迭代重复上述四个步骤。解密过程就是上述加密步骤的逆运算。

这里采用pycryptodome库来进行AES加密

代码语言:javascript
复制
from Crypto.Cipher import AES
from Crypto import Random


#补齐16字节,必须是16的倍数
def fill_text(msg):
    to_add = 0
    if len(msg) % 16 != 0:
        to_add = 16 - len(msg) % 16
        return msg + b'\0'*to_add


#AES的key必须是16、24、32位长度
key = b'12345678'
iv = Random.new().read(AES.block_size)
cipher = AES.new(fill_text(key), AES.MODE_ECB)
plaintext = '红红火火恍恍惚惚'
print('原文:', plaintext)
msg = cipher.encrypt(fill_text(plaintext.encode()))
print('加密后的字节码:', msg)

text = cipher.decrypt(msg)
print('解密后的文本:', text.decode())

执行结果

代码语言:javascript
复制
原文: 红红火火恍恍惚惚
加密后的字节码: b'\xe0,-&\x0e\xc0w\xf4\x16\xd3\n\xab\x9d\x156x.NK\x8c\xa8\xb9\xa7~\xa8%y+\xa1\t@\xee'
解密后的文本: 红红火火恍恍惚惚        
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年8月30日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档