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]