Php ValidatePassword()中的Yii2异常

Php ValidatePassword()中的Yii2异常,php,yii2,Php,Yii2,我使用yii2开发网站。 在将用户保存到db之前,我加密了如下密码: $this->password = Yii::$app->security->generatePasswordHash($this->password); 当我使用此代码时: Yii::$app->security->validatePassword("some string", $this->password); 我有一个错误: 无效参数–yii\base\InvalidPara

我使用yii2开发网站。
在将用户保存到db之前,我加密了如下密码:

$this->password = Yii::$app->security->generatePasswordHash($this->password);
当我使用此代码时:

Yii::$app->security->validatePassword("some string", $this->password);
我有一个错误:

无效参数–yii\base\InvalidParamException 哈希无效


怎么了?

我遇到了同样的问题。我意识到我的密码字段的字符容量对于散列来说太短了,所以我把它从varchar(25)增加到varchar(255)。

我遇到了同样的问题。我意识到我的密码字段的字符容量对于散列来说太短,所以我将它从varchar(25)增加到varchar(255)。

确保您在用户表中有一个与password\u散列完全相同的列名,并从

Yii::$app->security->validatePassword(“一些字符串,$this->password)

致:


Yii::$app->security->validatePassword(“一些字符串,$this->password\u散列)

确保您的列名与用户表中的密码\u哈希完全相同,并从

Yii::$app->security->validatePassword(“一些字符串,$this->password)

致:


Yii::$app->security->validatePassword(“一些字符串,$this->password\u散列)

lhs$hash生成密码哈希时,$this->password的值是多少?还要检查两个模板模型LoginForm和User in common/models yii2如何使用它来登录问题已解决,我有字段密码varchar(20)lhs$hash的类型生成密码hash时,$this->password的值是多少?还要检查两个模板模型LoginForm和User in common/models yii2如何使用它来登录问题已解决,我的字段密码类型varchar(20)作为注释质量较低。作为注释质量较低。