CakePHP - Auth哈希密码与Security :: hash()不同

时间:2011-07-26 15:09:07

标签: cakephp passwords authentication

在我的密码重置页面上,我使用Security :: hash()保存用户的新密码。然后,当我尝试登录时,我的数据库保存的哈希密码与在登录字段中哈希输入时Auth出现的版本不匹配。

我认为这类似于Security :: hash(),使用我的应用程序盐来散列密码,而Auth不使用那个盐?

你是怎么做到的?

2 个答案:

答案 0 :(得分:5)

您是否尝试过AuthComponent::password()方法?

此外,如果该字段名为password,请检查AuthComponent是否尚未对其进行哈希处理。


修改:在3.x中,请参阅DefaultPasswordHasher::hash(),如Hashing Passwords中所述。

答案 1 :(得分:1)

应为Security::hash($password, 'sha1', true)

您可以将第二个参数保留为NULL,因为Auth使用与Security中指定的相同的哈希。