加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.cn/)- 运营、云管理、经验、智能边缘、云硬盘!
当前位置: 首页 > 教程 > 正文

PHP实现的增强性mhash函数

发布时间:2022-08-01 09:23:22 所属栏目:教程 来源:互联网
导读:这篇文章主要介绍了PHP实现的增强性mhash函数,使用默认mhash函数时报错,找到了两个解决方法,需要的朋友可以参考下。 今天使用php的加密函数mhash 的时候,报错: Fatal error : Call to undefined function mhash() mhash是php的内置函数但是使用却报错.. 一
  这篇文章主要介绍了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 加密函数

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读