Php_hash メソッドを使用してパスワードをハッシュおよび検証する

Kevin Amayi 2023年1月30日
  1. PHP の PASSWORD_DEFAULT 定数でデフォルトのアルゴリズムを使用してパスワードをハッシュする
  2. PHP で PASSWORD_BCRYPT 定数を使用した明示的なアルゴリズムを使用したハッシュパスワード
  3. PHP の PASSWORD_BCRYPT 定数とオプションパラメータを使用した明示的なアルゴリズムを使用したハッシュパスワード
Php_hash メソッドを使用してパスワードをハッシュおよび検証する

デフォルトのアルゴリズムを使用するデフォルトの PASSWORD_DEFAULT 定数を使用して、PHP でパスワードをハッシュする方法を見ていきます。

また、明示的なアルゴリズムを bcrypt として指定する PASSWORD_BCRYPT 定数と、アルゴリズムの数とソルトを指定できる PASSWORD_BCRYPT 定数と option パラメーターを使用して、PHP でパスワードをハッシュする方法についても説明します。

PHP の PASSWORD_DEFAULT 定数でデフォルトのアルゴリズムを使用してパスワードをハッシュする

password_hash メソッドで PASSWORD_DEFAULT を指定することにより、デフォルトのアルゴリズムを使用してハッシュされたパスワードを作成します。

<?php
$password = Crazy556;
$encrypted_password = password_hash($password, PASSWORD_DEFAULT);
echo $encrypted_password;
?>

出力:

$2y$10$bPtyWBeqYSa3HilGaTLB1uOV6jPt0fbZwxmzexXWQ3RKb8BeL3VOW

PHP で PASSWORD_BCRYPT 定数を使用した明示的なアルゴリズムを使用したハッシュパスワード

password_hash メソッドで PASSWORD_BCRYPT を指定することにより、bcrypt アルゴリズムを使用してハッシュされたパスワードを作成します。

<?php
$password = Crazy556;
$encrypted_password = password_hash($password, PASSWORD_BCRYPT);
echo $encrypted_password;
?>

出力:

$2y$10$bPtyWBeqYSa3HilGaTLB1uOV6jPt0fbZwxmzexXWQ3RKb8BeL3VOW

PHP の PASSWORD_BCRYPT 定数とオプションパラメータを使用した明示的なアルゴリズムを使用したハッシュパスワード

password_hash メソッドで PASSWORD_BCRYPT 定数を指定し、options パラメーターで salt および cost 文字列を指定することにより、bcrypt アルゴリズムを使用してハッシュパスワードを作成します。

<?php

$password = Crazy556;
$options = [
    'salt' => 'Kevin',
    'cost' => 12,
];
$encrypted_password = password_hash($password, PASSWORD_BCRYPT);
echo $encrypted_password;
?>

出力:

$2y$10$TTiV87qqyNNIcQeihPl85ei42pyBv.MhZoJ4sNFva.yK4U09iUB5G

関連記事 - PHP Array