hash_hmac
(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
hash_hmac — HMAC 方式を使用してハッシュ値を生成する
説明
hash_hmac
( string $algo
, string $data
, string $key
[, bool $binary
= false
] ) : string|false
パラメータ
algo
- 選択したアルゴリズムの名前 (すなわち "md5"、"sha256"、"haval160,4" など…)。 サポートするアルゴリズムの一覧は hash_hmac_algos() を参照ください。
data
- ハッシュするメッセージ。
key
- HMAC 方式でのメッセージダイジェストを生成するために使用する 共有の秘密鍵。
binary
true
を設定すると、生のバイナリデータを出力します。false
の場合は小文字の 16 進数値となります。
返り値
binary
が true に設定されていない場合は、
メッセージダイジェストの計算結果を小文字の 16 進数値形式の文字列で
返します。もし true に設定されていた場合は、メッセージダイジェストが
そのままのバイナリ形式で返されます。
algo
が未知の場合や、
暗号に適さないハッシュ関数の場合は false
を返します。
変更履歴
バージョン | 説明 |
---|---|
7.2.0 | 暗号に適さないハッシュ関数 (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) は使えなくなりました。 |
例
例1 hash_hmac() の例
<?phpecho hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');?>
上の例の出力は以下となります。
b8e7ae12510bdfb1812e463a7f086122cf37e4f7
参考
- hash() - ハッシュ値 (メッセージダイジェスト) を生成する
- hash_hmac_algos() - hash_hmac に合うハッシュアルゴリズムの一覧を返す
- hash_init() - 段階的なハッシュコンテキストを初期化する
- hash_hmac_file() - HMAC 方式を使用して、指定されたファイルの内容からハッシュ値を生成する