关于实现验证密码的业务逻辑

来源:9-13 cookie的应用

meto001

2019-03-25

在9-13这节课中,老师是直接用check_password_hash这个函数来进行验证的。我自己试着实现一下这个逻辑,我先将用户传递过来的参数加密,再与数据库中的进行对比,但是我查了一下资料,说是这个是加盐加密,每次的结果都是不同的,所以我就验证失败了,请问老师除了用check_password_hash直接验证之外,还有什么办法可以进行验证吗?

写回答

2回答

meto001

提问者

2019-03-27

import hashlib
import codecs

# 数据库密码
password = 'pbkdf2:sha256:50000$H97wNNI0$0ef21c1b446c23eb1787bbf04aeb5a7c4e2840805acad614328e12f008e9be19'
user_input = hashlib.pbkdf2_hmac('sha256', b'123456', b'H97wNNI0', 50000)
hash1 = codecs.encode(user_input, 'hex_codec')
front = 'pbkdf2:sha256:50000$H97wNNI0$'
input_pwd = front+hash1.decode()
if input_pwd == password:
    print('密码正确')


0
0

7七月

2019-03-25

盐相同 每次加密都是一样的。谁说每次不同?每次不同咋对比密码?

0
6
meto001
回复
7七月
我终于弄出来了。 import hashlib import codecs password = 'pbkdf2:sha256:50000$H97wNNI0$0ef21c1b446c23eb1787bbf04aeb5a7c4e2840805acad614328e12f008e9be19' user_input = hashlib.pbkdf2_hmac('sha256', b'123456', b'H97wNNI0', 50000) hash1 = codecs.encode(user_input, 'hex_codec') front = 'pbkdf2:sha256:50000$H97wNNI0$' input_pwd = front+hash1.decode() if input_pwd == password: print('密码正确')
2019-03-27
共6条回复

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程