繁体   English   中英

如何在python(django)中hash字符串并将散列值与给定字符串进行比较

[英]How to hash strings in python(django) and compare the hashed value with a given string

我正在开发一个 web 应用程序,该应用程序允许用户注册然后登录,我使用以下功能 hash 密码

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

我的问题是,当我第二次使用 hash 时,我散列的字符串不会产生相同的结果。 我该如何解决这个问题或者我可以使用什么方法 hash 密码,存储在数据库中并将该值与登录表单中的值进行比较

您需要使用验证function

def verify_password(pswd, e_pswd):
    return pbkdf2_sha256.verify(pswd, e_pswd)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM