password_hash
関数の使い方
<?php
$password = "your_password";
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
echo $hashed_password;
?>
説明
- $password: これはハッシュ化したい元のパスワードです。ユーザーが入力したパスワードをこの変数に格納します。
-
PASSWORD_DEFAULT: これはハッシュ化に使用するアルゴリズムを指定するための定数です。
PASSWORD_DEFAULT
を使用すると、現在のデフォルトアルゴリズムが適用されます。将来的にデフォルトアルゴリズムが変更された場合でも、この定数を使用することで最新の安全なアルゴリズムが適用されます。
password_hash
関数の利点
1. 安全なハッシュ化
password_hash
関数はパスワードを安全にハッシュ化するために設計されています。ハッシュ化されたパスワードはデータベースに保存され、元のパスワードを知ることなく認証に使用できます。
2. アルゴリズムの自動更新
PASSWORD_DEFAULT
を使用すると、PHPが提供する最新の安全なアルゴリズムが自動的に選択されます。これにより、セキュリティの更新が容易になります。
3. ソルトの自動生成
password_hash
関数は自動的にソルトを生成し、ハッシュ化されたパスワードに含めます。これにより、同じパスワードであっても毎回異なるハッシュが生成されるため、セキュリティが向上します。
パスワードの検証
ハッシュ化されたパスワードを検証するには、password_verify
関数を使用します。
<?php
$entered_password = "user_input_password";
$hashed_password = password_hash("my_secure_password", PASSWORD_DEFAULT);
if (password_verify($entered_password, $hashed_password)) {
echo "パスワードが一致しました";
} else {
echo "パスワードが一致しません";
}
?>
password_verify
関数は、ユーザーが入力したパスワードとハッシュ化されたパスワードを比較して、一致するかどうかを確認します。