hash_init
(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
hash_init — 段階的なハッシュコンテキストを初期化する
説明
hash_init
( string $algo
[, int $flags
= 0
[, string $key
= ""
]] ) : HashContext
パラメータ
algo
- 選択したアルゴリズムの名前 (すなわち "md5"、"sha256"、"haval160,4" など…)。 サポートされているアルゴリズムの一覧については、hash_algos() を参照してください。
flags
- ハッシュ生成の際に使用するオプションで、現在は、ただひとつ
HASH_HMAC
のみをサポートしています。これが 指定された場合、key
を 必ず指定しなければなりません。 key
flags
にHASH_HMAC
が指定された場合に、HMAC 形式のハッシュで使用される共有の秘密鍵を 設定する必要があります。
変更履歴
バージョン | 説明 |
---|---|
7.2.0 | 暗号に適さないハッシュ関数 (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) は使えなくなりました。 |
7.2.0 | リソースの代わりに HashContext を返すようになりました。 |
例
例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 方式を使用して、指定されたファイルの内容からハッシュ値を生成する