hash

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

hashハッシュ値 (メッセージダイジェスト) を生成する

説明

hash(
    string $algo,
    string $data,
    bool $binary = false,
    array $options = []
): string

パラメータ

algo

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

data

ハッシュするメッセージ。

binary

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

options

様々なハッシュアルゴリズム向けの、オプションの配列。 現状は、MurmurHash バリアントが "seed" だけをサポートしています。

戻り値

binary が true に設定されていない場合は、 メッセージダイジェストの計算結果を小文字の 16 進数値形式の文字列で 返します。もし true に設定されていた場合は、メッセージダイジェストが そのままのバイナリ形式で返されます。

変更履歴

バージョン 説明
8.1.0 options パラメータが追加されました。
8.0.0 hash() は、 algo が未知の場合に、 ValueError をスローするようになりました。 これより前のバージョンでは、false を返していました。

例1 hash() の例

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

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

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

参考

  • hash_file() - ファイルの内容から、ハッシュ値を生成する
  • hash_hmac() - HMAC 方式を使用してハッシュ値を生成する
  • hash_init() - 段階的なハッシュコンテキストを初期化する
  • md5() - 文字列のmd5ハッシュ値を計算する
  • sha1() - 文字列の sha1 ハッシュを計算する