Исключение Yii2 в ValidatePassword ()

Я использую yii2 для разработки веб-сайта.
Прежде чем сохранить пользователя в БД, я записал пароль примерно так:

$this->password = Yii::$app->security->generatePasswordHash($this->password);

И когда я использую этот код:

Yii::$app->security->validatePassword("some string", $this->password);

У меня ошибка:

Неверный параметр — yii \ base \ InvalidParamException
Хэш недействителен.

Что случилось?

1

Решение

Я столкнулся с той же проблемой. Я понял, что символьная емкость моего поля пароля была слишком короткой для хеша, поэтому я поднял его с varchar (25) до varchar (255).

4

Другие решения

убедитесь, что у вас есть имя столбца в точности как password_hash в пользовательской таблице и измените свой код с

Yii :: $ app-> security-> validatePassword («некоторая строка», $ this-> пароль);

чтобы:

Yii :: $ app-> security-> validatePassword («некоторая строка», $ this-> password_hash);

0

По вопросам рекламы [email protected]