我发现了一个加密的 PIN 码(在本例中为 9999)的哈希值,我知道它是使用 AES CTR 加密的。
问题是,我不知道如何在 python 中编写它。我知道密钥和 IV 是相同的,但是我知道 CTR 模式不需要 IV,而是使用计数器。我只是不知道如何使用 CTR 的 IV/Counter 部分。
from Crypto.Cipher import AES
from Crypto.Util import Counter
import base64
import binascii
hashed = "aEotxA=="
encrypted = base64.b64decode(hashed)
key = b'4170ac2a2782a1516fe9e13d7322ae48'
iv = b'4170ac2a2782a1516fe9e13d7322ae48'
aes = AES.new(key, AES.MODE_CTR)
print (binascii.hexlify(aes.decrypt(encrypted)))
我也尝试过使用计数器:
ctr = Counter.new(128, initial_value=int_of_string(iv[:16]))
aes = AES.new(key, AES.MODE_CTR, ctr)
任何帮助都会非常感谢。