今日 PHP の暗号化関数 mhash を使用したところ、エラーが報告されました: 致命的なエラー: 未定義関数 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'))
{
return bin2hex(mhash (MHASH_MD5, $data, $key));
}
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_opad = $key ^ $opad;
}
hmac_md5 関数のパラメータ $key と $data は、mhash の元の 3,2 パラメータに対応します。