1 Star 0 Fork 0

Hsensor/learn_py

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
decry.py 1.29 KB
一键复制 编辑 原始数据 按行查看 历史
Hsensor 提交于 2024-11-01 14:25 . py learn
from Crypto.Cipher import AES
import base64
def pkcs7_unpad(data):
"""
PKCS7 去填充
:param data: 要去填充的数据
:return: 去填充后的数据
"""
padding = data[-1]
if padding < 1 or padding > AES.block_size:
raise ValueError("Invalid padding")
return data[:-padding]
def aes_ecb_pkcs7_decrypt(key, encrypted_data):
"""
使用 AES/ECB/PKCS7Padding 解密
:param key: 密钥,必须是 16、24 或 32 字节长
:param encrypted_data: 加密后的数据(通常是 base64 编码的字符串)
:return: 解密后的数据
"""
# 将 base64 编码的字符串转换为字节
encrypted_data_bytes = base64.b64decode(encrypted_data)
# 创建 AES 解密器
cipher = AES.new(key, AES.MODE_ECB)
# 解密数据
decrypted_data = cipher.decrypt(encrypted_data_bytes)
# 去填充
unpadded_data = pkcs7_unpad(decrypted_data)
return unpadded_data
# 示例密钥和加密数据
key = b'sqARMIe98qm5LpqsIFlIa8vLt8C7Vr6k' # 密钥必须是 16、24 或 32 字节长
encrypted_data = 'eiIntpOyq9cKGjjgnKo0Ifp/slkHEqMLuXUvoVQIo4UFrX6q1RUCbCBqDBoIblVu'
# 解密
decrypted_data = aes_ecb_pkcs7_decrypt(key, encrypted_data)
print("Decrypted Data:", decrypted_data.decode('utf-8'))
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Hsensor/learn_py.git
[email protected]:Hsensor/learn_py.git
Hsensor
learn_py
learn_py
master

搜索帮助