news 2026/7/28 17:43:40

python - AES加密解密

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python - AES加密解密

安装依赖库

pip install pycryptodome
from binascii import b2a_base64, a2b_base64 from Crypto.Cipher import AES class AES_CBC(): def __init__(self, key, iv): # key必须为16位字符串 self.key = bytes(key, encoding='utf-8') self.iv = bytes(iv, encoding='utf-8') # 加密。text:需要加密的内容 def encrypt(self, text): cryptor = AES.new(self.key, AES.MODE_CBC, self.iv) bs = 16 length = len(text) bytes_length = len(bytes(text, encoding='utf-8')) # tips:utf-8编码时,英文占1个byte,而中文占3个byte padding_size = length if (bytes_length == length) else bytes_length padding = bs - padding_size % bs # tips:chr(padding)看与其它语言的约定,有的会使用'\0' padding_text = chr(padding) * padding text = text + padding_text ciphertext = cryptor.encrypt(bytes(text, encoding='utf-8')) return b2a_base64(ciphertext) # 解密 def decrypt(self, content): cipher = AES.new(self.key, AES.MODE_CBC, self.iv) encrypt_bytes = a2b_base64(content) decrypt_bytes = cipher.decrypt(encrypt_bytes) text = str(decrypt_bytes, encoding='utf-8') length = len(text) unpadding = ord(text[length-1]) return text[0:length-unpadding]

原文地址

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 17:42:47

电磁场仿真中的模型降阶技术解析与应用

1. 电磁场耦合仿真中的模型降阶技术解析 作为一名从事电磁场仿真工作十余年的工程师,我见证了计算电磁学领域从全波仿真到降阶模型的演进历程。模型降阶技术(Model Order Reduction, MOR)已经成为处理复杂电磁耦合系统的必备工具,…

作者头像 李华
网站建设 2026/7/28 17:38:25

ComfyUI-WanVideoWrapper:三步开启你的免费AI视频创作之旅

ComfyUI-WanVideoWrapper:三步开启你的免费AI视频创作之旅 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 想要轻松制作专业级AI视频,却苦于复杂的安装配置?C…

作者头像 李华
网站建设 2026/7/28 17:38:21

【计算机JAVA毕业设计案例】基于 WEB 的学生心理帮扶与情绪调节服务平台 大学生心理健康测评与互助社区系统实现(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/28 17:38:11

希尔排序

九大排序算法之希尔排序 算法思想 排序思想代码实现 import java.util.*; //希尔排序(插入排序的快速排序算法):使数组中任意间隔为h的元素是有序的,h不断减小 //时间复杂度:NlogN,空间复杂度:1 public c…

作者头像 李华
网站建设 2026/7/28 17:37:59

免费开源鼠标连点器终极指南:5分钟快速实现自动化点击

免费开源鼠标连点器终极指南:5分钟快速实现自动化点击 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 ,…

作者头像 李华
网站建设 2026/7/28 17:35:57

免费开源鼠标连点器完整指南:5分钟掌握自动化点击技巧

免费开源鼠标连点器完整指南:5分钟掌握自动化点击技巧 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 ,…

作者头像 李华