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简单静态页生成过程
Mar 27 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
PHP-Java-Bridge使用笔记
Sep 22 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
phpinfo的知识点总结
Oct 10 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
php session劫持和防范的方法
2013/11/12 PHP
php生成动态验证码gif图片
2015/10/19 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
用python实现名片管理系统
2020/06/18 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
平安建设实施方案
2014/03/19 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
超市采购员岗位职责
2015/04/07 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
Django实现聊天机器人
2021/05/31 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL