Home > php教程 > php手册 > body text

PHP实现的增强性mhash函数

WBOY
Release: 2016-06-13 09:03:07
Original
1109 people have browsed it

PHP实现的增强性mhash函数

   这篇文章主要介绍了PHP实现的增强性mhash函数,使用默认mhash函数时报错,找到了两个解决方法,需要的朋友可以参考下

  今天使用php的加密函数mhash 的时候,报错: Fatal error : Call to undefined function mhash()

  mhash是php的内置函数但是使用却报错..

  一番研究总结两种方法:

  1,导入php_mhash.dll扩展文件,除此之外还要导入 libmhash.dll (mhash 库的载入依赖这个文件) ,

  在 Apache 的配置文件 Httpd.conf 中加载 LoadFile C:/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对应mhash原有的3,2参数。

  这两个方法都可以顺利的使用上php 的mhash 加密函数

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template