この記事では主にPHPに実装されている拡張mhash関数を紹介します。 デフォルトのmhash関数を使用するとエラーが報告されます。
今日、PHP の暗号化関数 mhash を使用したところ、エラーが発生しました: Fatal error: Call to unknown function mhash()mhashはphpの組み込み関数ですが、使用するとエラーが報告されます
いくつか調べた結果、2つの方法をまとめました:
1. php_mhash.dll 拡張ファイルをインポートします。さらに、libmhash.dll をインポートします (mhash ライブラリの読み込みはこのファイルに依存します)。
Apacheの設定ファイルHttpd.conf.にある「LoadFile C:/php/libmhash.dll」をロードします
2. カスタム mhash 拡張関数を使用します。
コードは以下の通りです:
関数 hmac_md5($key, $data)
{
if (extension_loaded('mhash'))
{
bin2hex(mhash (MHASH_MD5, $data, $key))を返す;
}
$b = 64;
if (strlen($key) > $b)
{
$key = Pack('H*', md5($key));
}
$key = str_pad($key, $b, chr(0x00));
$ipad = str_pad('', $b, chr(0x36));
$opad = str_pad('', $b, chr(0x5c));
$k_ipad = $key ^ $ipad;
$k_opad = $key ^ $opad;
md5($k_opad .pack('H*', md5($k_ipad . $data)))を返す;
}
hmac_md5関数のパラメータ$keyと$dataは、mhashの元の3,2パラメータに対応します。
これら 2 つの方法はどちらも、PHP の mhash 暗号化機能を正常に使用できます
http://www.bkjia.com/PHPjc/1007658.html