PHP は拡張された mhash を実装します

*文
リリース: 2023-03-18 14:50:01
オリジナル
1426 人が閲覧しました

PHP で拡張 mhash を実装するにはどうすればよいですか?この記事では主に、PHP に実装されている拡張 mhash 関数を紹介します。デフォルトの mhash 関数を使用するとエラーが報告され、2 つの解決策が見つかります。お役に立てれば幸いです。

今日PHPの暗号化関数mhashを使ったらエラーが出ました: Fatal error: Call to unknown function mhash()

mhashはPHPの組み込み関数なのですが、使ってみるとエラーが出てしまいました…。

いくつかの調査の後、2 つの方法をまとめました:

1. php_mhash.dll 拡張ファイルをインポートします。さらに、libmhash.dll もインポートする必要があります (mhash ライブラリのロードはこのファイルに依存します)。 Apache 設定ファイル Httpd.conf の :/php/libmhash。dll"。

2、カスタム mhash 拡張関数を使用します。

function hmac_md5($key, $data)
{
    if (extension_loaded('mhash'))
    {
        return 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;
    return md5($k_opad . pack('H*', md5($k_ipad . $data)));
}
ログイン後にコピー

hmac_md5 関数内のパラメータ $key と $data は、元の 3,2 に対応します。 mhash のパラメータ


どちらの方法もスムーズに使用できます PHP の Mhash 暗号化関数

関連する推奨事項:

PHP 暗号化拡張ライブラリ - Mhash 拡張ライブラリ インスタンスの使用方法の詳細

Mhash拡張ライブラリ_PHPチュートリアル

PHP formhashのやり方

以上がPHP は拡張された mhash を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート