使用python/bcrypt将密码保存为用户集合中mongodb中的salted哈希

c74*_*kds 6 python hash bcrypt mongodb flask

我想生成一个salted密码哈希并将其存储在名为users的MongoDB集合中,如下所示:

users_doc = { 
    "username": "James",
    "password": "<salted_hash_password>"
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用Bcrypt生成散列密码,然后当我登录我的烧瓶应用程序时,能够检查散列是否与存储在MongoDB中的散列密码匹配.

Lea*_*let 7

我不知道你是如何使用mongodb来传输数据的,但是如果你想对传递进行散列,那就像下面这样简单:

from flask import Flask
from flask.ext.bcrypt import Bcrypt

app = Flask(__name__)
bcrypt = Bcrypt(app)

# Your code here...

users_doc = {
    "username": "james",
    "password": bcrypt.generate_password_hash(password)
}
Run Code Online (Sandbox Code Playgroud)

然后,如果要检查密码,可以使用以下check_password_hash()功能:

bcrypt.check_password_hash(users_doc["password"], request.form["password"]) # Just an example of how you could use it.
Run Code Online (Sandbox Code Playgroud)