更新数据时哈希密码覆盖


Hashed password overwriting when updating data

当您从 ActiveRecord 扩展您的类时,您是否使用过用户数据?我想更新用户时遇到问题。有 PasswordHash 属性。我之前使用函数保存我在创建时散列密码的位置,但我不知道我应该在更新操作中使用它?

public function beforeSave($insert)
{
    if (parent::beforeSave($insert)) {
        if($this->isNewRecord) {
            $this->created_at = time();
            $this->status = self::DEFAULT_STATUS;
            $this->generateAuthKey();
            $this->setPassword($this->PasswordHash);
            $this->RulesAccept=1;
            return true;
        } else {
            $this->setPassword($this->PasswordHash);
            return true;
        }
    } 
}
当我

在输入中更新用户时,我可以看到散列密码处的点缀,但是当我更改密码时,它不会散列此密码。我修改了我的代码,但密码不断被覆盖。我应该如何使用在活动记录中散列的密码输入和密码?

当我需要在 Yii2 中哈希密码时,我使用以下代码:

 $password="YOUR PASSWORD";
 $hash = Yii::$app->getSecurity()->generatePasswordHash($password);
 die($hash);