password_get_info

関数の概要

password_get_infoは、PHPのパスワードハッシュからハッシュの情報を取得するための関数です。この関数を使うことで、ハッシュ化に使われたアルゴリズムやオプションを簡単に調べることができ、パスワード管理やセキュリティ対策に役立ちます。

パラメータの説明

  • string $hash : 情報を取得したいパスワードのハッシュ文字列を指定します。
    このハッシュはpassword_hash関数などで生成されている必要があります。

戻り値

password_get_infoは連想配列を返します。配列は以下のキーを持ちます。

  • algo: 使用されたアルゴリズムの整数定数(例: PASSWORD_BCRYPT)
  • algoName: アルゴリズム名の文字列(例: “bcrypt”, “argon2i”)
  • options: ハッシュ生成に使用されたオプションの連想配列(例: costやメモリ、時間など)

使用例を複数

基本的な使い方

$hash = password_hash('secret123', PASSWORD_BCRYPT);
$info = password_get_info($hash);
print_r($info);

このコードは、パスワード「secret123」を bcrypt アルゴリズムでハッシュ化し、そのハッシュの情報を取得して表示します。

異なるアルゴリズムでの情報取得

$hashArgon2 = password_hash('secret123', PASSWORD_ARGON2I);
$infoArgon2 = password_get_info($hashArgon2);
print_r($infoArgon2);

argon2i アルゴリズムでハッシュ化したパスワードの情報も取得でき、アルゴリズム名やオプションが確認可能です。

オプションの詳細を確認する

$hashWithCost = password_hash('mypassword', PASSWORD_BCRYPT, ['cost' => 12]);
$infoWithCost = password_get_info($hashWithCost);
var_dump($infoWithCost['options']);

この例では、bcryptのcost値を12に設定してハッシュを作成し、どのcostが設定されているかを確認しています。

関連する関数

  • password_hash – パスワードを安全にハッシュ化するための関数
  • password_verify – 入力されたパスワードとハッシュの照合を行う関数
  • password_needs_rehash – ハッシュが指定したアルゴリズム・オプションに合致しているかを判定する関数

まとめ

password_get_infoはPHPでパスワードのハッシュ情報を確認したい際に便利な関数です。ハッシュに使用されたアルゴリズムやオプションを取得できるため、パスワード管理の見直しやセキュリティ評価に役立ちます。
初心者にも扱いやすく、実務でも安全なパスワード運用の一助となるため、ぜひ活用してください。