PHP bcryptでパスワードを生成するサンプル

PHPのbcryptでパスワードを生成するサンプルです。

パスワードハッシュを作る

password_hash(string $password, string|int|null $algo, array $options = []): string

password_hashの2つめの引数にPASSWORD_DEFAULTを指定するとbcrypt アルゴリズムを使います。
PHP 5.5.0 の時点でのデフォルトです。

https://www.php.net/manual/ja/function.password-hash.php

<?php

$password = password_hash("あいうえ", PASSWORD_DEFAULT);

echo $password; //$2y$10$dCeimFQ0bUyQtNpE99oJTePyg2N9vOwmS438CQnbgctorxIjixsQu

if (password_verify("あいうえ", $password)) {
  echo "OK"; // OK
}

3行目は、password_hashで文字列をハッシュ化しています。
PASSWORD_DEFAULTを指定するとbcrypt アルゴリズムを使います。
生成される文字の長さは60文字です。(イメージ:生成された文字列をテーブルに保存)
7行目は、元の文字列とハッシュ化した文字列を比較しています。結果はtrueになります。
(イメージ:ユーザが入力したパスワード値とテーブルの値を比較し同じならログイン)

関連の記事

PHP セッションを確認する(session)

△上に戻る