Преобразование шифрования Rijndael из Python 2 в 3 - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь обновить код с python2 до 3, и у меня возникают проблемы с определенной функцией шифрования.Это код Python 2:

trans_raw = '6c9474469ddf7578f3e5ad8a4c703d99'
raw_prime = '583423bbbf900e9a211664861e28c9f347835017'

transkey = trans_raw.decode('hex')
prime = raw_prime.decode('hex')[:16]

r = rijndael.rijndael(transkey)
result = r.encrypt(prime).encode('hex')

print result

#result = fa016bdda2f884d9126fc746f5a00714

rijndael, используемый в этой функции, был из этого: https://github.com/sectroyer/SmartCrypto/blob/master/PySmartCrypto/rijndael.py

Я пытался преобразовать это в python3, но я не чувствую, что я прихожу куда-нибудьблизко.Это то, что я пробовал

trans_raw = '6c9474469ddf7578f3e5ad8a4c703d99'
raw_prime = '583423bbbf900e9a211664861e28c9f347835017'

transkey = binascii.unhexlify(trans_raw)
prime = binascii.unhexlify(raw_prime)[:16]

r = AES.new(transkey, AES.MODE_ECB)
ciphertext = r.encrypt(prime)
result = binascii.hexlify(ciphertext).decode('utf-8')
print(result)

#result = ba5a2b6bb7176dd321250e7d672b0a4a

Я пытался использовать https://gist.github.com/jeetsukumaran/1291836#gistcomment-901601, который кто-то в комментариях сказал, был обновлен для Python 3. Я также пытался использовать встроенный Python AES.new (transkey, AES.MODE_ECB), но ни один из этих вариантов не возвращает ничего похожего на то, что я ищу.Кто-нибудь знает, что мне не хватает?

...