使用 python 解密 Amazon SP API 报告文档。 AES、CBC、base64
Decrypting Amazon SP API Report Document using python. AES, CBC, base64
我正在尝试解密报告文件。我有以下解密详情:
{
"payload": {
"reportDocumentId": "XXXX",
"encryptionDetails": {
"standard": "AES",
"initializationVector": "XXXX",
"key": "XXXX"
},
"url": "https://XXXXX"
}}
使用这些细节,我尝试编写各种代码,给出不同的错误
1.
from base64 import b64encode
import hashlib
import pyaes
import os
from sys import getsizeof
content = requests.get(url)
ciphertext = content.text
#ciphertext = b64encode(bytes(content.text))
print(getsizeof(key))
print(getsizeof(iv))
decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationCBC(key, iv))
decryptedData = decrypter.feed(ciphertext)
decryptedData += decrypter.feed()
print(decryptedData)
这显示了以下错误:ValueError:初始化向量必须为 16 个字节
我的初始化向量和密钥在 base64 中。他们的尺码分别是73和93
2.
content = requests.get(url)
message = content.text
print(len(message))
obj = AES.new(key, AES.MODE_CBC, iv)
print(obj.decrypt(message))
这会产生以下错误:ValueError:AES 密钥长度不正确(44 字节)
如何解决这个问题?除此以外的任何方法也将非常有帮助
AWS KMS 是否有助于解密此类数据?
content = requests.get(url)
message = content.content
dec_key = b64decode(key)
dec_iv = b64decode(iv)
obj = AES.new(dec_key, AES.MODE_CBC, dec_iv)
decrypt_text = obj.decrypt(message)
修改后的代码给出了所需的输出。解码密钥和 iv。
这个答案不是我做的,我是从 Whosebug 上的各种问题中收集的。写给可能需要的人。
我正在尝试解密报告文件。我有以下解密详情:
{
"payload": {
"reportDocumentId": "XXXX",
"encryptionDetails": {
"standard": "AES",
"initializationVector": "XXXX",
"key": "XXXX"
},
"url": "https://XXXXX"
}}
使用这些细节,我尝试编写各种代码,给出不同的错误 1.
from base64 import b64encode
import hashlib
import pyaes
import os
from sys import getsizeof
content = requests.get(url)
ciphertext = content.text
#ciphertext = b64encode(bytes(content.text))
print(getsizeof(key))
print(getsizeof(iv))
decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationCBC(key, iv))
decryptedData = decrypter.feed(ciphertext)
decryptedData += decrypter.feed()
print(decryptedData)
这显示了以下错误:ValueError:初始化向量必须为 16 个字节 我的初始化向量和密钥在 base64 中。他们的尺码分别是73和93
2.
content = requests.get(url)
message = content.text
print(len(message))
obj = AES.new(key, AES.MODE_CBC, iv)
print(obj.decrypt(message))
这会产生以下错误:ValueError:AES 密钥长度不正确(44 字节)
如何解决这个问题?除此以外的任何方法也将非常有帮助
AWS KMS 是否有助于解密此类数据?
content = requests.get(url)
message = content.content
dec_key = b64decode(key)
dec_iv = b64decode(iv)
obj = AES.new(dec_key, AES.MODE_CBC, dec_iv)
decrypt_text = obj.decrypt(message)
修改后的代码给出了所需的输出。解码密钥和 iv。 这个答案不是我做的,我是从 Whosebug 上的各种问题中收集的。写给可能需要的人。