Heim > Backend-Entwicklung > PHP-Tutorial > php增强型mhash函数的实现代码

php增强型mhash函数的实现代码

WBOY
Freigeben: 2016-07-25 08:57:15
Original
968 Leute haben es durchsucht
本文介绍下,php实现的一个增强型的mhash的函数代码,有需要的朋友参考下。

在程序中用到了php的加密函数mhash,报错: Fatal error : Call to undefined function mhash()

以下提供二种解决方法,供参考。 1,导入php_mhash.dll扩展文件,除此之外还要导入 libmhash.dll (mhash 库的载入依赖这个文件) , 在 Apache 的配置文件 Httpd.conf 中加载 LoadFile C:/php/libmhash.dll” 。

2,使用自定义的mhash增强函数。

<?php
/**
* 自定义的mhash增强函数
* edit by bbs.it-home.org
*/
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)));
}
?>
Nach dem Login kopieren

代码说明: hmac_md5 函数中的参数$key和$data对应mhash原有的3,2参数。 这两个方法都可以顺利使用php 的mhash 加密函数。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage