key = {
"words": [
1966099538,
1919055140,
1164864824,
879456065
],
"sigBytes": 16
}
iv = {
"words": [
610804834,
857827655,
2054379886,
1853057130
],
"sigBytes": 16
}
image.png
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64
# 转换密钥和IV为小端序字节
key_ints = [1966099538, 1919055140, 1164864824, 879456065]
iv_ints = [610804834, 857827655, 2054379886, 1853057130]
key_bytes = b''.join(i.to_bytes(4, 'big') for i in key_ints) # 16字节密钥
iv_bytes = b''.join(i.to_bytes(4, 'big') for i in iv_ints) # 16字节IV
# Base64解码(修复填充)
ciphertext_b64 = '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'
missing_padding = 4 - (len(ciphertext_b64) % 4)
ciphertext_b64 += "=" * missing_padding # 补3个'='
ciphertext = base64.b64decode(ciphertext_b64)
# AES-CBC解密并去除PKCS7填充
cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)
decrypted_padded = cipher.decrypt(ciphertext)
plaintext = unpad(decrypted_padded, AES.block_size, style='pkcs7')
print("解密结果:", plaintext.decode('utf-8'))
image.png