import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
# # 给定的 key 对象
key_obj = {
"words": [
1364603238,
862865518,
846294327,
1764980850,
1781750073,
1262053741,
1147422548,
1783919929
],
"sigBytes": 32
}
# 将 words 转换为字节
def words_to_bytes(words):
byte_array = bytearray()
for word in words:
byte_array.extend(word.to_bytes(4, byteorder='big'))
return bytes(byte_array)
# 转换为字节形式的密钥
key = words_to_bytes(key_obj["words"])
# Base64 编码的密文
base64_encrypted_text = "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"
# Base64 解码密文
encrypted_text = base64.b64decode(base64_encrypted_text)
print('encrypted_text:', encrypted_text)
# 创建 AES 解密对象
aes = AES.new(key, AES.MODE_ECB)
# 解密数据并去除填充
plaintext = unpad(aes.decrypt(encrypted_text), AES.block_size).decode()
print(plaintext)