PHP: Mhash関数 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<Memcache::setmhash_count>
view the version of this page
Last updated: Tue, 21 Dec 2004

LXIII. Mhash関数

導入

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

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

要件

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

インストール手順

この拡張機能を使用するには、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 -- ハッシュ値を計算する


add a note add a note User Contributed Notes
Mhash関数
sergeyev_v_v AT mail DOT ru
16-Jul-2004 11:45
It is't necessary to copy something to windows/system32, cause it is source of problems.
You must use PHPRC environment variable:
SET PHPRC=c:\PathToYourPHPDirectory; (win cmd.exe)
or
export PHPRC ... (for linux bash)
m1tk4 at hotmail dot com
22-Jun-2004 05:43
To enable mhash on RHEL/Fedora Core/other RPM-based Linuxes without rebuilding PHP, get the php-mhash and mhash RPMs at
prakashshakya at hotmail dot com
01-Jun-2004 10:56
Also put php_mhash.dll in windows directory in addition to above setting in case of apache 1.3.1
JP Solatorio
29-May-2004 04:14
To enable mhash in PHP 4.3.6 running under Apache2, Windows (mine is XP), do the following:

1. Uncomment the line extension=php_mhash.dll from the php.ini file. Save.
2. Copy libmhash.dll from the dlls folder of your PHP directory, and save it to the system32 directory.
3. Restart Server.
01-Aug-2001 02:13
MHASH_HAVAL256 , MHASH_HAVAL192, etc...
refers to the HAVAL hash with 3 rounds.

To use HAVAL with 4 or 5 rounds, you have to
recompile the mhash library and either add
new hash names, or just change in mhash.c
the definitions of MHASH_HAVAL256,...

<Memcache::setmhash_count>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page