我提供了加密的文件,密钥和iv。 使用openssl我可以做到:
openssl aes-128-cbc-d -iv 8d8012a7ca3007dcf47e593f37681111 -K 20994d3521a087bcdbb870fc29653512 -in input_file -out output_file
现在我想在Python3中做同样的事情。
from Crypto.Cipher import AES
ifi = open("input_file", "rb")
ciphertext = ifi.read()
ifi.close()
key = '20994d3521a087bcdbb870fc29653512'
iv = '8d8012a7ca3007dcf47e593f37681111'
mode = AES.MODE_CBC
decryptor = AES.new(key, mode, IV=iv)
plain = decryptor.decrypt(ciphertext)
ofi = open("output_file", "wb")
ofi.write(plain)
ofi.close()
我收到错误:ValueError: IV must be 16 bytes long
。
可以将string用作十六进制键并用于iv十六进制吗?