51qsx 发表于 2015-8-26 11:01:56

HMAC-SHA1的php实现

  今天做迅雷联登,文档中有一步是要对请求参数计算签名,用的是HMAC-SHA1算法。
  找了一下php里也没有这个函数呀,这个算法是怎么实现的呢?
  最后弄出来了,贴代码:



<?php
$base_string = 'GET&http%3A%2F%2Fapi.i.xunlei.com%2Foauth%2Frequest_token&oauth_callback%3Dhttp%253A%252F%252Fwww.xunlei.com%26oauth_consumer_key%3DGDdmIQH6jhtmLUypg82g%26oauth_nonce%3D03335450%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1311929227%26oauth_version%3D1.0';
$key = 'MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98&';
$signature = base64_encode(mhash(MHASH_SHA1,$base_string,$key));
echo $signature;    //2xsWmZVtiRWpdlS+ArhKOD7JA8o=
  计算结果与文档里的值一致。
  
  参考资料:http://www.zhixing123.cn/php/26027.html
页: [1]
查看完整版本: HMAC-SHA1的php实现