HMAC-*算法集合
浏览:2982次 出处信息
HMAC-SHA1、HMAC-MD5等算法,在PHP5.1.X之后,可直接使用如下形式来计算
| 以下是代码片段: echo hash_hmac(’sha1’,$data,$key); |
如果加载了MHASH扩展,也可直接使用mhash来进行运算
| 以下是代码片段: echo bin2hex(mhash(MHASH_SHA1, $data, $key)); |
如果PHP版本低于5.1.X或者没有加载Mhash、或HMAC扩展,可使用如下的通用方法来进行相应运算
| 以下是代码片段: function hmac($key, $data, $hash="md5") { $b = 64; if (strlen($key) > $b) $key = pack("H*", call_user_func($hash, $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 call_user_func($hash, $k_opad . pack("H*", call_user_func($hash, $k_ipad . $data))); } echo hmac($key,$data,’sha1’); |
建议继续学习:
- QQ上传大文件为什么这么快 (阅读:12915)
- HashMap解决hash冲突的方法 (阅读:12179)
- 关于memcache分布式一致性hash (阅读:11455)
- MinHash原理与应用 (阅读:6726)
- 无锁HashMap的原理与实现 (阅读:6337)
- md5到md5破解的一些科普 (阅读:6182)
- LVS hash size解决4096个并发的问题 (阅读:6092)
- 如果用户在5分钟内重复上线,就给他发警告,问如何设计? (阅读:5682)
- Ubuntu 下Hash校验和不符问题的解决 (阅读:5258)
- 分布式系统hash策略 (阅读:4764)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:php两种include加载文件方式效率比较
后一篇:ECSHOP二次开发指南 >>
文章信息
- 作者:cevin 来源: 司徒楠,一个PHP程序员
- 标签: hash hmac md5 sha1
- 发布时间:2010-08-10 04:09:54
建议继续学习
近3天十大热文
-
[323] WordPress插件开发 -- 在插件使用 -
[151] 解决 nginx 反向代理网页首尾出现神秘字 -
[92] IOS安全–浅谈关于IOS加固的几种方法 -
[50] 到底什么是MVC? -
[50] Linux Used内存到底哪里去了? -
[50] 二维码的生成细节和原理 -
[48] Shell的那些事儿 -
[47] Hacker News 排名算法工作原理 -
[47] 中间件和稳定性平台 -
[46] 浏览器的工作原理:新式网络浏览器幕后揭秘
