Мне нужно перенести старый Python 2 код на Python 3, и я думаю, что я путаюсь со строковым кодированием.
Это пользовательский хеш-пароль.
I ' Мы пытались разными способами, безуспешно, получая только ошибки или неправильные результаты.
Это код Python 2, который должен работать с Python 3:
from hashlib import sha256
from base64 import b64encode
# 32 characters length string
SALT = "SQ7HqXQhrOIPEALbI7QhVjZ3DHJGhK18"
PLAIN_PASSWORD = "PLAIN_PASSWORD"
SALTED_PASSWORD = "%s{%s}" % (PLAIN_PASSWORD, SALT)
digest = ""
for i in range(100):
digest = sha256(digest + SALTED_PASSWORD).digest()
print b64encode(digest)
Вывод:
Yb0W9H+R7xQDStPfBjKMjFbe05jDPK6OXrdhVWCDJrU=