« openssl_password_hash
openssl_pbkdf2 »

openssl_password_verify

(PHP 8 >= 8.4.0)

openssl_password_verify — OpenSSL の Argon2 実装を用いてパスワードをハッシュと照合する

説明

function openssl_password_verify(string $algo, #[\SensitiveParameter] string $password, string $hash): bool

パスワードが openssl_password_hash() で作成したハッシュにマッチするかどうかを検証します。

この関数は、PHP が Argon2 をサポートする OpenSSL (HAVE_OPENSSL_ARGON2) とともにコンパイルされている場合にのみ使用できます。

パラメータ

algo

パスワードハッシュアルゴリズム。サポートされている値は "argon2id" と "argon2i" です。

password

ユーザーのパスワード。

hash

openssl_password_hash() で作成したハッシュ。

戻り値

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

エラー / 例外

algo がサポートされている値 ("argon2i" または "argon2id") のいずれでもない場合、ValueError をスローします。

変更履歴

バージョン 説明
8.4.0 関数が追加されました。

例

例1 openssl_password_verify() の例

<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password');

if (openssl_password_verify('argon2id', 'my-secret-password', $hash)) {
    echo 'Password matches.';
} else {
    echo 'Password does not match.';
}
?>

参考

関連キーワード:
password   openssl   パスワード   ハッシュ   hash   OpenSSL   verify   argon   Argon   実装   照合   algo   マッチ   サポート   secret   Password   pbkdf   SensitiveParameter   検証   コンパイル   アルゴリズム   ValueError   履歴   matches   else
関連する関数・ページ:
function.openssl-password-hash   function.password-verify   password.installation   book.password   function.password-get-info   ref.password