LVII. Mhash関数

導入

以下の関数は、mhashと組み合わせ て動作することを前提としています。mhashは、チェックサム、メッセー ジダイジェスト、メッセージ認証コード等を作成するために使用するこ とができます。

この関数は、mhashライブラリへのインターフェースです。 mhashは、MD5,SHAl,GOSTや他の多くの方法といった広範なハッシュ アルゴリズムをサポートします。サポートされるハッシュの全一覧につ いては、mhashのドキュメントを参照して下さい。一般的な規則として、 特定のハッシュアルゴリズムは、PHPから定数「MHASH_ハッシュ名」でア クセス可能です。例えば、TIGERの場合、PHP定数MHASH_TIGERを使用しま す。

要件

mhashを使用するには、mhashの配布ファイルを mhashのWebサイトから ダウンロードし、その中のインストール用の指示に従って下さい。

インストール手順

この拡張機能を使用するには、PHPに --with-mhash[=DIR]パラメータを付けて コンパイルする必要があります。DIRはmhashインストールディレクトリです。

実行用の設定

この拡張モジュールは設定ディレクティブを全く 定義しません。

リソース型

この拡張モジュールはリソース型を全く定義し ません。

定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

以下に現在mhashによりサポートされているハッシュの一覧を示します。 mhashにサポートされているハッシュが、このリストにない場合は、こ のドキュメントが古いと考えて下さい。

  • MHASH_MD5

  • MHASH_SHA1

  • MHASH_HAVAL256

  • MHASH_HAVAL192

  • MHASH_HAVAL160

  • MHASH_HAVAL128

  • MHASH_RIPEMD160

  • MHASH_GOST

  • MHASH_TIGER

  • MHASH_CRC32

  • MHASH_CRC32B

例 1. MD5ダイジェストとhmacを計算し、16進数で出力する

<?php
$input
= "what do ya want for nothing?";
$hash = mhash (MHASH_MD5, $input);
print
"The hash is ".bin2hex ($hash)."<br />\n";
$hash = mhash (MHASH_MD5, $input, "Jefe");
print
"The hmac is ".bin2hex ($hash)."<br />\n";
?>

この例の出力は次のようになります。
The hash is d03cb659cbf9192dcd066272249f8412 
The hmac is 750c783e6ab0b503eaa86e310a5db738

目次
mhash_count -- 利用可能なハッシュIDの最大値を得る
mhash_get_block_size -- 指定したハッシュのブロックサイズを得る
mhash_get_hash_name -- 指定したハッシュの名前を得る
mhash_keygen_s2k -- キーを生成する
mhash -- ハッシュ値を計算する