首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查存储在PSQL DB中的哈希密码

如何检查存储在PSQL DB中的哈希密码
EN

Stack Overflow用户
提问于 2019-02-19 08:56:24
回答 1查看 169关注 0票数 1

我希望通过对口令进行散列,然后在PSQL DB上检查散列来验证口令

我正在尝试比较散列-但我得到了一个错误的Invalid Salt.

下面是我的代码:

代码语言:javascript
运行
复制
@app.route("/hello", methods=["POST", "GET"])
 def hello():
 email = request.form.get("email")
 password = request.form.get("password")
 password = bcrypt.generate_password_hash(password).decode('utf-8')
 db.execute("INSERT INTO users (email, password) VALUES (:email, 
 :password)",{"email": email, "password": password})
 db.commit()

代码语言:javascript
运行
复制
@app.route("/check", methods=["POST", "GET"])
def check():
    email = request.form.get("login_email")
    check_email_in_db = db.execute("SELECT COUNT(*) FROM users WHERE email = :email", {"email": email}).fetchall()
    if check_email_in_db[0][0] == 1 :
        email = request.form.get("login_email")
        password = request.form.get("login_password")
        retrive_password_from_db = db.execute("SELECT password FROM 
        users WHERE email = :email", {"email": email}).fetchall()
        retrive_password_from_db = retrive_password_from_db[0][0]
        if bcrypt.check_password_hash(password, retrive_password_from_db):
            return("this works")
        else:
            return("something is wrong")
EN

回答 1

Stack Overflow用户

发布于 2019-02-19 13:43:24

好了,我想通了。我所要做的就是,在散列时指定轮数:

代码语言:javascript
运行
复制
password = bcrypt.generate_password_hash(password, 10).decode('utf-8')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54757448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档