我想在CakePHP中为我的网站编写密码重置功能。我试过使用$auth->hashPasswords
,$auth->password
,甚至Security::hash
,但没有正确的散列它。我试着用foobar的登录,并指出用来尝试登录哈希:cfb9fabf02497f9090cbba6b03da4764212cea407
,cakephp不哈希密码相同
但复位使foobar的散列到5f4bb4b693725cea09cc7fc20603273f665534d8
。
我在做什么错?
我的代码:
$this->data['Player']['password'] = $this->Auth->password($this->data['Player']['password']);
$this->Player->save($this->data);
我不是一个cakephp用户,但它听起来像是使用内部盐来散列密码,这将彻底改变散列。 – Crontab 2012-01-05 20:46:41
我相信它会自动散列称为'密码'的字段 - 所以如果你再次散列它,那就会搞砸了。 – Dave 2012-01-05 20:51:00
所以你说一个使用盐而另一个不是?我检查了内部代码,他们看起来像他们应该使用它,但我怎么能确定? – LordZardeck 2012-01-05 20:51:10