Php/docs/function.password-verify

提供:Dev Guides
< Php
移動先:案内検索

password_verify

(PHP 5 >= 5.5.0, PHP 7)

password_verifyパスワードがハッシュにマッチするかどうかを調べる


説明

password_verify ( string $password , string $hash ) : bool

指定したハッシュがパスワードにマッチするかどうかを調べます。

password_hash() は、 アルゴリズムやコスト、ソルトといった情報もハッシュに含めて返すことに注意しましょう。 したがって、ハッシュの検証に必要な情報はすべてそこに含まれていることになります。 これで、検証関数がハッシュの検証をするときに、ソルトやアルゴリズム情報を別の場所から取得する必要がなくなります。

この関数は、タイミング攻撃に対して安全です。


パラメータ

password
ユーザーのパスワード。
hash
password_hash() が作ったハッシュ。


返り値

パスワードとハッシュがマッチする場合に true、それ以外の場合に false を返します。


例1 password_verify() の例

<?php// これをどうやって作ったのかは、password_hash() の例を参照ください$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';if (password_verify('rasmuslerdorf', $hash)) {    echo 'Password is valid!';} else {    echo 'Invalid password.';}?>

上の例の出力は以下となります。


Password is valid!

参考