0

我发现了一个加密的 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)

任何帮助都会非常感谢。

4

0 回答 0