2

パスワードハッシュがどのように生成されるか知りたいですか?

// This is my code:

$email="mail@example.net";
$password="mypassword";

// How to get password_hash variable?

$user = User::find()->where(['email'=>$email, 'password_hash'=>$password_hash])->one();
if(isset($user)){
   echo "there is";
} else {
 "Sorry!";  
}

ありがとうございました。

4

3 に答える 3

2

http://www.yiiframework.com/doc-2.0/guide-security-passwords.html Yii 2 でのパスワードの処理方法です。暗号の専門家でない限り、自分でパスワードを作成しようとしないでください。

于 2015-06-30T19:57:31.340 に答える
0
  public function verifyPassword($password)
    {
        if(md5($password) === $this->password)
            TRUE を返します。
        そうしないと
            FALSE を返します。
        //return Yii::$app->security->validatePassword($password, $this->password);
    }

  public function beforeSave($insert)
    {
        // 新しいパスワードが設定されている場合はハッシュする
        if ($this->newPassword) {
            //$this->password = Yii::$app->security->generatePasswordHash($this->newPassword);
            $this->password = md5($this->newPassword);
        }

        // ban_time チェックボックスを日付に変換します
        if ($this->ban_time) {
            $this->ban_time = date("Ymd H:i:s");
        }

        // フィールドが null であることを確認して、空の文字列として設定されないようにします
        $nullAttributes = ["email", "username", "ban_time", "ban_reason"];
        foreach ($nullAttributes として $nullAttributes) {
            $this->$nullAttribute = $this->$nullAttribute ? $this->$nullAttribute : null;
        }

        親を返します::beforeSave($insert);
    }
于 2015-02-16T09:54:48.637 に答える
-4

md5でハッシュを使用していますが、ユーザーモデルで関数を作成しています

    public function validatePassword($password)
{
    return $this->PASSWORD === md5($password);
}
于 2014-12-28T19:02:48.090 に答える