代码拉取完成,页面将自动刷新
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'))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。