PHP实现的增强性mhash函数


Posted in PHP onMay 27, 2015

今天使用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 加密函数

PHP 相关文章推荐
php foreach 使用&(与运算符)引用赋值要注意的问题
Feb 16 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
深入了解PHP类Class的概念
Jun 14 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP验证信用卡卡号是否正确函数
May 27 #PHP
PHP的伪随机数与真随机数详解
May 27 #PHP
php实现window平台的checkdnsrr函数
May 27 #PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 #PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 #PHP
PHP实现即时输出、实时输出内容方法
May 27 #PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 #PHP
You might like
B2K与车机的中波PK
2021/03/02 无线电
PHP遍历数组的几种方法
2012/03/22 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
基于jquery的时间段实现代码
2012/08/02 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js中replace的用法总结
2013/12/27 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
浅析Git版本控制器使用
2017/12/10 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
学习python需要有编程基础吗
2020/06/02 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
大学生自我鉴定
2013/12/16 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
护士岗位职责
2014/02/16 职场文书
电力安全事故反思
2014/04/27 职场文书
党员转正大会主持词
2015/07/02 职场文书
小学思品教学反思
2016/02/20 职场文书