ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルに実装された拡張 mhash 関数

PHP_PHP チュートリアルに実装された拡張 mhash 関数

WBOY
WBOYオリジナル
2016-07-13 09:52:311048ブラウズ

PHPに実装された拡張mhash関数

この記事では主に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

tru​​ehttp://www.bkjia.com/PHPjc/1007658.html技術記事 PHP に実装された強化された mhash 関数 この記事では、デフォルトの mhash 関数を使用するとエラーが報告されることを主に紹介します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。