Today, using PHP's encryption function Mhash, the error: Fatal error:call to undefined function mhash ()
Mhash is PHP's built-in function but the error is not used.
The research sums up two ways:
1, import the Php_mhash.dll extension file, in addition to import the Libmhash.dll (Mhash Library's load dependency this file),
Load LoadFile C:/php/libmhash.dll in the Apache configuration file httpd.conf.
2, use a custom mhash enhancement function.
Copy Code code as follows:
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));
}
The parameters $key and $data in the HMAC_MD5 function correspond mhash the original 3,2 parameters.
Both of these methods can be used successfully on the PHP mhash encryption function