Как хэшировать строки в python(django) и сравнить хэшированное значение с заданной строкой
Я работаю над веб-приложением, которое позволяет пользователям зарегистрироваться, затем войти в систему, я использовал следующие функции для хэширования пароля
from passlib.hash import pbkdf2_sha256
import math
def encrypt_password(pswd):
encrypt_pswd = pbkdf2_sha256.encrypt(pswd, rounds=(int(math.pow(len(pswd),3))), salt_size=(len(pswd)*2))
return encrypt_pswd
def verify_password(pswd, e_pswd):
en_pswd = encrypt_password(pswd)
if en_pswd == e_pswd:
return True
else:
return False
Моя проблема в том, что строка, которую я хэшировал, не дает того же результата, когда я хэширую ее во второй раз. Как я могу решить эту проблему или какие методы я могу использовать для хэширования пароля, хранения в базе данных и сравнения этого значения с тем, которое было получено из формы входа
Вам необходимо использовать функцию verify
def verify_password(pswd, e_pswd):
return pbkdf2_sha256.verify(pswd, e_pswd)