CakePHP - Auth хэширует пароль, отличный от Security :: hash () - PullRequest
1 голос
/ 26 июля 2011

На своей странице сброса пароля я сохраняю новый пароль пользователя, используя Security :: hash ().Однако когда я пытаюсь войти в систему, сохраненный хешированный пароль в моей базе данных не соответствует версии, которую использует Auth при хешировании моего ввода в поле входа в систему.

Я предполагаю, что это что-то вроде Security :: hash () использовать соль моего приложения для хеширования пароля, тогда как Auth не использует эту соль?

Как вы поступите с этим?

Ответы [ 2 ]

5 голосов
/ 26 июля 2011

Вы пробовали вместо этого метод AuthComponent::password()?

Кроме того, если поле имеет имя password, убедитесь, что AuthComponent еще не хэшировал его.


Редактировать: В 3.x вместо этого см. DefaultPasswordHasher::hash(), как описано в Хеширование паролей .

1 голос
/ 26 июля 2011

должно быть Security::hash($password, 'sha1', true)

Вы можете оставить второй параметр NULL, потому что Auth использует тот же хеш, который указан в Security.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...