В настоящее время я пытаюсь перенести пользователей Flask на серверную часть Django.
Однако, когда я использую passlib для проверки хэша, я не могу понять, почему он не будет проверять.
Наши настройки приложения фляги
SECURITY_PASSWORD_HASH = "pbkdf2_sha512"
SECURITY_PASSWORD_SALT = "stackoverflow" # this is an example
Пример хэша, который я извлек из базы данных
flask_hash = "$ pbkdf2sha512 $ 12000 $ ZQyhNEbIOSfk / J /T2vs / Bw $ j.yxtixV.DqAcpsY9XTnJZZb3lCkR2fMWmV329Uc7Y / vz5Z0yMshEkYlUsE2Y9xm8TICwYkG55RgAplzZzLl7g "
Так что я создал пользовательский pbkdf2_sha512 с раундами и соли из passlib.hash импорта pbkdf2_sha512
rounds = 12000
salt = "stackoverflow".encode() # assume I swapped this out with the right salt
custom_pbkdf2 = pbkdf2_sha512.using(rounds=rounds, salt=salt)
verify_result = custom_pbkdf2.verify(hash=flask_hash, secret=password)
print (verify_result) # false
Но еслиЯ создаю новый хэш ... он работает
test_hash = custom_pbkdf2.hash('testing-if-this-works')
test_hash_confirm = custom_pbkdf2.verify('testing-if-this-works', hash=test_hash)
Есть что-то, что я пропускаю?Большое спасибо за любую помощь здесь ... Я знаю пароль к этому - это фиктивная учетная запись, которую я использовал для тестирования.