【问题标题】:Issue to match pHpass generated hashed passwords匹配 pHpass 生成的散列密码的问题
【发布时间】:2015-12-31 06:19:15
【问题描述】:

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

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

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

Iteration Count = 8
Portable Hashes = FALSE

我也尝试了便携式Hashes = TRUE,但结果相同。那么,如果有人遇到这种情况,究竟如何才能匹配密码。


这就是我所做的一切。

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

帮帮忙!

【问题讨论】:

  • 我希望这对你有帮助 @Adnan.. stackoverflow.com/questions/5343611/…
  • 我读了@devpro 它没有帮助我......安德鲁的回答很好,但我仍然不知道为什么我在 add.php 上创建的密码在 login.php 上不起作用

标签: php hash phpass


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
  • 2021-08-29
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
相关资源
最近更新 更多