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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
php去除字符串换行符示例分享
Feb 13 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
php验证手机号码
Nov 11 PHP
PHP socket 模拟POST 请求实例代码
Jul 18 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
PHP培训要多少钱
Jun 06 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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 mysql 判断update之后是否更新了的方法
2012/01/10 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
关于this和self的使用说明
2010/08/01 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python利用beautifulSoup实现爬虫
2014/09/29 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python求质数列表的例子
2019/11/24 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
党建目标管理责任书
2014/07/25 职场文书
仰望星空观后感
2015/06/10 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL