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 adodb介绍
Mar 19 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
Aug 18 PHP
PHP6新特性分析
Mar 03 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
Yii CGridView用法实例详解
Jul 12 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
PHP 时间处理类Carbon
May 20 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
定义php常量的详解
2013/06/09 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
python使用PyFetion来发送短信的例子
2014/04/22 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
python定时执行指定函数的方法
2015/05/27 Python
python实现人机五子棋
2020/03/25 Python
python创建文本文件的简单方法
2020/08/30 Python
python selenium 获取接口数据的实现
2020/12/07 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
护理专业推荐信
2013/11/07 职场文书
司仪主持词两篇
2014/03/22 职场文书
通信工程专业求职信
2014/06/04 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
2016年社区服务活动总结
2016/04/06 职场文书