【发布时间】:2025-12-31 00:45:12
【问题描述】:
我正在使用phpass 的 bcrypt 功能在我的网站上散列密码。
现在,它真的行不通了。试图与CheckPassword 函数进行比较是行不通的。我对通过我用来解密哈希的每个函数输出的每个字符串进行了大量调试,得出的结论是 bcrypt 生成的哈希是非常随机的。因此,新生成的明文密码哈希永远不会与我数据库中的哈希匹配。真的吗?如果是这样,我到底要如何让它工作?源码比较简单。
// when creating user
<db insert code>$hash->HashPassword($_POST['password']);
// when logging in
return $hash->CheckPassword($user->password, $_POST['password']);
【问题讨论】:
-
这两行代码是在同一台服务器上运行的吗?如果您的服务器的 PHP 配置中没有 phpass,它会自动降级(即,实际上不使用 bcrypt)。