【发布时间】:2015-12-31 06:19:15
【问题描述】:
我将新用户添加到数据库并使用 pHpass 散列用户密码。在这一点上,我面临着奇怪的问题。
如果我在http://localhost/add.php 上创建/散列密码“123”并在同一页面上使用 pHpass 的 CheckPassword 方法检查密码,它会说密码很好。但是,如果我检查之前在 http://localhost/add.php、http://localhost/login.php 创建的哈希密码,它会说密码无效。这是什么?
我的 pHpass 3.0(下载自:http://www.openwall.com/phpass/)设置是
Iteration Count = 8
Portable Hashes = FALSE
我也尝试了便携式Hashes = TRUE,但结果相同。那么,如果有人遇到这种情况,究竟如何才能匹配密码。
这就是我所做的一切。
- 在 add.php 上,我使用 pHpass 方法
HashPassword对来自 POST 的传入用户密码进行哈希处理并将其保存到数据库中。 - 在 login.php 上,我使用 pHpass 方法
CheckPassword和两个参数,第一个未散列的用户密码和第二个针对用户名保存在数据库中的散列密码;正如从 http://www.openwall.com/phpass/ 下载的test.php文件中提到的 pHpass
帮帮忙!
【问题讨论】:
-
我希望这对你有帮助 @Adnan.. stackoverflow.com/questions/5343611/…
-
我读了@devpro 它没有帮助我......安德鲁的回答很好,但我仍然不知道为什么我在 add.php 上创建的密码在 login.php 上不起作用