百度bae签名函数
百度bae签名函数
签名算法
百度云存储服务通过签名算法来利用用户的签名对请求者的身份进行验证。
签名过程涉及到的概念 AccessKey:公钥,简称ak SecretKey:密钥,简称sk Signature:利用公钥、密钥和用户的请求内容算出的签名,用于验证请求用户的身份。 每次请求都需要把相应的签名通过querystring的方式发送,例如:
Sign=MBO:aCLCZtoFQg8I:WQMFNZEhN2k8xxlgikuPfCJMuE8%3D 签名组成 Sign=Flag:AccessKey:Signature Flag:表明签名的对象。云存储需要根据Flag来判断签名的具体对象。 Flag=[M|B|O|T|I|S],可以是多个组合,但是必须顺序给出。 M: (必填)请求的method, 可以是[PUT|GET|POST|DELETE|HEAD] B: (必填)bucket name O: (必填)object name T: (选填)链接的有效截止时间。 例如:time=1312956443 表明在时间点Wed Aug 10 2011 14:07:23前有效 I: (选填)访问ip限制。例如:ip=192.168.0.1 表示只有此IP能访问该链接 S:(选填)限制上传object大小。例如:size=100 表示不能上传大小超过100B的object AccessKey: 参考如上介绍 Signature: 签名 Signture=urlencode(base64_encode(hash_hmac('sha1', Content, SecretKey,true))) content由Flag、 bucket、object以及各个参数组成。
原理 用户根据自己申请的AccessKey、SecretKey和请求内容计算出Signature,然后通过querystring的方式发送给云存储;云存储根据AccessKey判断对应的SecretKey,然后根据Flag来算出签名;如果云存储计算的结果与请求的相同,则认证通过,否则返回403。
举例 现在需要上传资源到 bucket: mybucket ,其中object为: /myobject 。 要求此链接在时间点“Wed Aug 10 2011 14:07:23”前有效,且只允许ip:192.168.0.1访问,上传文件的大小不能超过100字节。
列表如下: bucket:mybucket object: /myobject time:1312956443 ip=192.168.0.1 size=100 Flag=MBOTIS 说明: Flag=MBOTIS表示需要对method、bucket、object、time、ip、size做签名。 注意: Flag必须严格按照 [M|B|O|T|I|S] 的顺序。 那么contet计算如下: Content= Flag + "\n"
- "Method=PUT" + "\n"
- "Bucket=mybucket" + "\n"
- "Object=/myobject" + "\n"
- "Time=1312956443" + "\n"
- "Ip=192.168.0.1" + "\n"
- "Size=100" + "\n" 自制签名函数如下:
function MakeSign($AccessKey,$SecretKey,$flag,$method,$bucket,$object,$time,$ip,$size){
//因为MBO是必需参数,剩下的TIS是选需参数,Flag的顺序为MBOTIS
$Content = $flag . "\nMethod=".$method . "\nBucket=".$bucket . "\nObject=".$object . "\n" ;
if($time) {
$Content .= "Time=" . $time . "\n";
}else if($ip) {
$Content .= "Ip=" . $ip . "\n";
}else if ($size) {
$Content .= "Size=" . $size . "\n";
}else {
}
$Signture=urlencode(base64_encode(hash_hmac('sha1', $Content, $SecretKey,true)));
$Sign=$flag.":".$AccessKey.":".$Signture;
return $Sign;
}
- 分类:
- PHP
相关文章
百度站长平台开放注册了,但功能很一般
之前无比什么的百度站长平台 sitemap.baidu.com 终于开放注册了,之前想一切办法搞邀请码,都没有搞到,郁闷。现在开放注册了,效果更见鬼,功能一般,并且都是一些老掉牙的功能 1、 阅读更多…
事实证明百度收录道招网内容神速
今天早上刚想起玩魔兽世界,就发表了如何下载 魔兽世界《大地的裂变》的升级补丁和完整客户端 一文,没想到很快就有网友通过百度搜索到了此文, 百度在几个小时前就收录了 阅读更多…
为什么网页游戏就只能靠美女广告引诱
大家应该清楚,自网页游戏发展高峰期以后,很多网站放了不少弹窗广告,广告内容一般都是画面精美,并且都是美女哦,一般都带一点成人意思,引诱大家注册然后玩,我测试了一些,这些游戏基本上都不像广告上面说的那样 阅读更多…
百度对道招网的收录依旧神速啊
看图,今天在友链站点的里面的视频,感觉不错,于是就转载了,于是有了 转载“牛叉的goophone 4GS” 一文,立马百度收录此文,测试一下百度对本站的收录状况。 有图有真相 阅读更多…
自2010起百度在移动方面上涨1000%
作为中国的搜索巨头已经从桌面端过渡到移动互联网的主要领导者了,在2010到目前的这三年里,百度在移动方面导入的流量已经攀上升了1000%,进步显著。 百度在本周三发布了最新一个季度移动 阅读更多…