如何在 python(django) 中散列字符串并将散列值与给定字符串进行比较
How to hash strings in python(django) and compare the hashed value with a given string
我正在开发一个允许用户注册然后登录的网络应用程序,我使用以下函数来散列密码
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)
我正在开发一个允许用户注册然后登录的网络应用程序,我使用以下函数来散列密码
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)