如何手动匹配用户名和&使用Flask-User创建的用户的密码

时间:2017-01-12 15:00:00

标签: python hash flask bcrypt flask-login

我正在为现有的烧瓶应用程序实现api,登录是使用Flask-User创建的,但是现在我需要手动查找用户并匹配密码进行身份验证。

问题是我不知道如何重新创建密码哈希以与存储在数据库中的密码Flask-User进行比较。

主要是因为https://github.com/lingthio/Flask-User/blob/master/flask_user/passwords.py的Flask-User来源提到了盐,但是我从数据库列中提到了盐:

sqlite> pragma table_info(user);
0|id|INTEGER|1||1
1|username|VARCHAR(50)|1||0
2|password|VARCHAR(255)|1|''|0
3|reset_password_token|VARCHAR(100)|1|''|0
4|email|VARCHAR(255)|1||0
5|confirmed_at|DATETIME|0||0
6|is_active|BOOLEAN|1|'0'|0
7|first_name|VARCHAR(100)|1|''|0
8|last_name|VARCHAR(100)|1|''|0

没有盐。所以问题是如何从明文密码生成一个哈希,我可以将其与Flask-User创建的哈希进行比较。 这是一个无关紧要的样本哈希值;

$2a$12$84F1dCPN1bVYEzPswDvgZu5ma1Xk5lNepvX/X9kKFYj8Q6Dy6j95q

1 个答案:

答案 0 :(得分:1)

也许尝试user_manager.hash_password函数。 https://pythonhosted.org/Flask-User/api.html