ValidatePassword中的Yii2异常()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ValidatePassword中的Yii2异常()相关的知识,希望对你有一定的参考价值。

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

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

当我使用这段代码时:

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

我有错误:

无效参数 - yii base InvalidParamException哈希无效。

怎么了?

答案

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

另一答案

确保您在用户表中具有与password_hash完全相同的列名,并更改您的代码

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

至:

Yii :: $ app-> security-> validatePassword(“some string”,$ this-> password_hash);

以上是关于ValidatePassword中的Yii2异常()的主要内容,如果未能解决你的问题,请参考以下文章

yii2 rest api异常处理

Yii2 select2 数据库异常绑定变量数与令牌数不匹配

jwt 令牌在 yii2 中解码时抛出异常

PDO 异常 SQLSTATE[HY000] [2002] Yii2 上的 Elastic Beanstalk 和 RDS 连接超时

Yii2异常'yii db Exception',消息'找不到驱动程序'

PHP (Yii2) 自定义业务异常类(可支持返回任意自己想要的类型数据)