Hash 関数
PHP Manual

hash_pbkdf2

(PHP 5 >= 5.5.0)

hash_pbkdf2PBKDF2 を使ってパスワードからキーを生成する

説明

string hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = false ]] )

パラメータ

algo

ハッシュアルゴリズムの名前 (たとえば md5, sha256, haval160,4 など)。サポートされるアルゴリズムの一覧は hash_algos() をご参照ください。

password

派生に使うパスワード

salt

派生に使うソルト

iterations

派生の実行の際の内部の反復回数

length

出力する派生キーの長さ。0 の場合、渡されたアルゴリズムの長さが使われます。

raw_output

TRUE にセットされている場合、名前のバイナリデータが出力されます。FALSE の場合、小文字の16進数が出力されます。

返り値

小文字の16進数を含む文字列が返されます。raw_output が true の場合、派生キーの生のバイナリ表現が返されます。

エラー / 例外

E_WARNING が発生するのはアルゴリズムが未知である場合、iterations パラメータが 0 以下である場合、length0 以下である場合、salt が長すぎる場合 (INT_MAX - 4 よりも大きい) です。

例1 hash_pbkdf2() の基本的な使い方の例

<?php
$password 
"password";
$salt "salt";
$hash hash_pbkdf2("sha256"$password$salt120);
echo 
$hash;
?>

上の例の出力は以下となります。

120fb6cffcf8b32c43e7

注意

警告

PBKDF2 による方法はパスワードのハッシュを保存するために使うことができます (NIST が認めた利用方法です)。 しかしながら、CRYPT_BLOWFISH のほうがパスワードの保存に適しており、 crypt() を通じて利用できることを記しておきます。

参考


Hash 関数
PHP Manual