python - 如何检查 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
解决方案
你可以使用:
previous_hash == bcrypt.hashpw(password, previous_hash)