Как хэшировать строки в 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)
Вернуться на верх