from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import padding
import base64
import sys
def decrypt_aes(encrypted_text, key):
"""解密数据"""
# 解码Base64编码的加密数据
encrypted_data = base64.b64decode(encrypted_text)
# 提取IV和加密后的数据
iv = encrypted_data[:16]
ct = encrypted_data[16:]
# 创建AES CBC模式的Cipher对象
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
# 解密数据
decryptor = cipher.decryptor()
decrypted_padded_data = decryptor.update(ct) + decryptor.finalize()
# 移除PKCS7填充
unpadder = padding.PKCS7(128).unpadder()
decrypted_data = unpadder.update(decrypted_padded_data) + unpadder.finalize()
# 返回解密后的明文
return decrypted_data.decode('utf-8')
def main():
# 获取用户输入的加密文本和密钥
AES-256解密程序
最新推荐文章于 2025-03-08 08:36:50 发布