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

标签 python mongodb hash flask bcrypt

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

users_doc = { 
    "username": "James",
    "password": "<salted_hash_password>"
}

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

最佳答案

我不知道你是如何使用 mongodb 来获取数据的,但是如果你想对 pass 进行哈希处理,很简单:

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)
}

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

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

关于python - 使用 python/bcrypt 将密码保存为用户集合中的 mongodb 中的加盐哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27943258/

相关文章:

perl - 按内部哈希值对哈希数组的哈希进行排序

python - 使用单词列表计算 Levenshtein 距离

python - Django 不加载 css 和 JS

Python re.split() 与 split()

python - Django 登录重定向到密码重置页面而不是个人资料页面

mongodb - 使用 MongoDB 有效地确定层次结构中记录的所有者

php - mongodb 中的 OR 运算符与 php

javascript - 如何在保存之前等待创建流的循环完成?

c# - 有没有人有 C++ 和 C# 中的 CRC128 和 CRC256 代码?

algorithm - 如何根据经纬度信息生成4位验证码?