hash_init

(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)

hash_init段階的なハッシュコンテキストを初期化する

説明

hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] ) : resource

パラメータ

algo

選択したアルゴリズムの名前 (すなわち "md5"、"sha256"、"haval160,4" など…)。 サポートされているアルゴリズムの一覧については、hash_algos() を参照してください。

options

ハッシュ生成の際に使用するオプションで、現在は、ただひとつ HASH_HMAC のみをサポートしています。これが 指定された場合、key必ず指定しなければなりません。

key

optionsHASH_HMAC が指定された場合に、HMAC 形式のハッシュで使用される共有の秘密鍵を 設定する必要があります。

返り値

hash_update()hash_update_stream()hash_update_file() および hash_final() で使用するハッシュコンテキストリソースを 返します。

変更履歴

バージョン 説明
7.2.0 Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled.

例1 段階的なハッシュの例

<?php
$ctx 
hash_init('md5');
hash_update($ctx'The quick brown fox ');
hash_update($ctx'jumped over the lazy dog.');
echo 
hash_final($ctx);
?>

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

5c6ffbdd40d9556b73a21e63c3e0e904

参考

  • hash() - ハッシュ値 (メッセージダイジェスト) を生成する
  • hash_algos() - 登録されているハッシュアルゴリズムの一覧を返す
  • hash_file() - ファイルの内容から、ハッシュ値を生成する
  • hash_hmac() - HMAC 方式を使用してハッシュ値を生成する
  • hash_hmac_file() - HMAC 方式を使用して、指定されたファイルの内容からハッシュ値を生成する