Всем привет!
почему-то функция password_verify работает не правильно
примеры кода:
создание хеша в методе beforeValidate:
if(in_array($this->scenario, ['userCreate','singUp'])) {
$this->password_hash = $this->setPassword($this->password);
}
метод $this->setPassword
public function setPassword($password)
{
return $this->password_hash = Yii::$app->security->generatePasswordHash($password,5);
}
в общем создается хеш пароля 12345678 ($2y$05$WjKwE1MiWPyPFghASGGcdupFqfcUHchkb2y/rwTiCWe40iIbqyxKq) и записывается в бд
после проверяем пароль:
public function validatePassword($attribute, $params)
{
if (!$this->hasErrors()) {
$user = $this->getUser();
if (!$user || !$user->validatePassword($this->password)) {
$this->addError($attribute, 'Неправильный логин или пароль.');
}
}
}
//метод validatePAssword
public function validatePassword($password)
{
return Yii::$app->security->validatePassword($password, $this->password_hash);
}
в password_hash найденного юзера находится сгенеренный выше кеш и пароль 12345678
но в итоге функция password_verify в методе Yii::$app->security->validatePassword отдает false
да еще пробовал проверять хеш сразу после создания в методе setPassword до записи в бд - валидацию проходит, но потом уже этот хеш не проходит по паролю 12345678