匹配pHpass生成的散列密码的问题

时间:2015-12-31 06:19:16

标签: php hash phpass

我使用pHpass将新用户添加到数据库和哈希用户密码。在这一点上,我面临着奇怪的问题。

如果我创建/哈希密码' 123'在http://localhost/add.php上,并在同一页面上使用pHpass的CheckPassword方法检查密码,它会说密码是好的。但是,如果我在http://localhost/login.php上检查在 http://localhost/add.php 上创建的先前创建的哈希密码,则表示密码无效。这是什么?

我的pHpass 3.0(下载自:http://www.openwall.com/phpass/ )设置

Iteration Count = 8
Portable Hashes = FALSE

我也尝试使用Portable Hashes = TRUE但结果相同。那么,如果任何人面临这种​​情况,任何身体如何能够匹配密码。

以下是我做的所有事情。

  1. 在add.php上,我使用 pHpass 方法HashPassword来对来自POST的传入用户密码进行哈希并将其保存到数据库中。
  2. 在login.php上我使用了 pHpass 方法CheckPassword,其中包含两个参数,第一个未散列的用户密码和第二个散列密码,用于保存在数据库中的用户名;就像从 http://www.openwall.com/phpass/
  3. 下载的test.php文件中提到的 pHpass 一样

    帮助meeee!

1 个答案:

答案 0 :(得分:1)

是的,如果您在添加时将密码存储在哈希值中,而不是在需要从login.php登录时,而不是首先将密码值转换为哈希值,而不是将其与存储值进行比较,它将起作用。