hash_hmac_file

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

hash_hmac_fileHMAC 方式を使用して、指定されたファイルの内容からハッシュ値を生成する

説明

hash_hmac_file(
    string $algo,
    string $filename,
    string $key,
    bool $binary = false
): string|false

パラメータ

algo

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

filename

ハッシュ対象となるファイルの位置を示す URL。 fopen ラッパーをサポートしています。

key

HMAC 方式でのメッセージダイジェストを生成するために使用する 共有の秘密鍵。

binary

true を設定すると、生のバイナリデータを出力します。 false の場合は小文字の 16 進数値となります。

戻り値

binary が true に設定されていない場合は、 メッセージダイジェストの計算結果を小文字の 16 進数値形式の文字列で 返します。もし true に設定されていた場合は、メッセージダイジェストが そのままのバイナリ形式で返されます。 algo が不明な場合や、 暗号に適さないハッシュ関数の場合、 または filename が読めない場合は、false が返されます。

変更履歴

バージョン 説明
7.2.0 暗号に適さないハッシュ関数 (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) は使えなくなりました。

例1 hash_hmac_file() の例

<?php
/* ハッシュ値を計算するファイルを作成します */
file_put_contents('example.txt''The quick brown fox jumped over the lazy dog.');

echo 
hash_hmac_file('md5''example.txt''secret');
?>

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

7eb2b5c37443418fc77c136dd20e859c

参考

  • hash_hmac_algos() - hash_hmac に合うハッシュアルゴリズムの一覧を返す
  • hash_hmac() - HMAC 方式を使用してハッシュ値を生成する
  • hash_file() - ファイルの内容から、ハッシュ値を生成する

関連キーワード:  hash, 生成, hmac, HMAC, 方式, 内容, 使用, 指定, ファイル, file