首页 > 解决方案 > 如何检查 bcrypt 密码

问题描述

我在数据库中存储了以下密码:

$2a$10$0T6qQvTwZoa8hG9Gw.iuiuJ4cXPdfnO21h.meL9QIqwIhjNx2WNHa

它是由以下 java 命令存储的 bcrypt 密码:

String passwordHash = BCrypt.hashpw(user.getPassword(), BCrypt.gensalt());

我知道这个密码是“asdfasdf”,因为我输入了它。我如何使用它的 Bcrypt 库从 python 获得“True”响应。这是我目前正在做的事情:

import bcrypt
password = "asdfasdf"
previous_hash = "$2a$10$0T6qQvTwZoa8hG9Gw.iuiuJ4cXPdfnO21h.meL9QIqwIhjNx2WNHa"
bcrypt.checkpw(password, previous_hash)
False

标签: pythonbcrypt

解决方案


你可以使用:

previous_hash == bcrypt.hashpw(password, previous_hash)

推荐阅读