增强mhash的功能的PHP实现
Mhash是内置函数的PHP,但它是用错了。
在这项研究中总结了两种方法。
1、进口php_mhash.dll扩展名的文件,除了进口libmhash.dll(的Mhash图书馆负荷依赖性),
Load LoadFile C: / / libmhash.dll PHP在Apache的配置文件httpd.conf。
2、使用自定义mhash的增强功能。
复制代码代码如下所示:
功能hmac_md5($关键数据,美元)
{
如果(extension_loaded('mhash '))
{
返回bin2hex(mhash(mhash_md5美元美元,数据,关键));
}
$ = 64;
如果(strlen($键)> $ B)
{
美元关键=包(H *,MD5($键));
}
美元关键= str_pad($,$,CHR(0x00));
为iPad = str_pad($,CHR(0x36));
美元str_pad opad($,CHR(0x5c));
k_ipad美元美元美元=关键^ iPad;
k_opad美元美元美元=关键^ opad;
MD5(k_opad美元回报。包(H *,MD5($ k_ipad。(美元数据));
}
在hmac_md5函数参数和关键数据对应美元美元的Mhash原3,2参数。
这两种方法均可以成功地使用上PHP mhash的加密功能