我使用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
但结果相同。那么,如果任何人面临这种情况,任何身体如何能够匹配密码。
以下是我做的所有事情。
HashPassword
来对来自POST的传入用户密码进行哈希并将其保存到数据库中。CheckPassword
,其中包含两个参数,第一个未散列的用户密码和第二个散列密码,用于保存在数据库中的用户名;就像从 http://www.openwall.com/phpass/ test.php
文件中提到的 pHpass 一样
醇>
帮助meeee!
答案 0 :(得分:1)
是的,如果您在添加时将密码存储在哈希值中,而不是在需要从login.php登录时,而不是首先将密码值转换为哈希值,而不是将其与存储值进行比较,它将起作用。