道招

百度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;
}

百度BAE签名函数

更新时间:
上一篇:将xml格式字符串按xml输出或解析下一篇:要多垃圾就有多垃圾的新网

相关文章

百度统计做的真的不错

本站虽然访问的人不多,但是也搞了个访问统计,一直用的是51la和百度统计,今天没事登陆进百度统计,发现又改版了,功能很不错,版面很大气,甚是喜欢。然后我又进了51la,数十年如一日,没意思,以后多用百 阅读更多…

百度个人中心手机号不能解绑解决方法

昨天想加自己的百度账号绑定一下手机,提示手机以绑定,我就知道是自己另外一个账号已经绑定了,但是那个账号我又不用了,于是想将它解绑,结果不能解绑,只能更换手机号,对我来说那有什么用哦,于是给百度客服发消 阅读更多…

百度开放云BAE下周四扩容

今天突然想起来去百度开放云看看,现在还能申请创建应用引擎不,自从上次删除后,现在将应用全部调整应用到了新浪云SAE上面去了,但是BAE的速度比SAE还是要快些,所以还是有点恋恋不忘。之前一直是收到通知 阅读更多…

百度的“站点改版”功能终于能校验通过、改版完成了啊

之前网站换域名,想到百度的“站点改版”功能,但是始终都是 规则校验中 。 百度给的回复是存在多级跳转,这简直就是答非所问。 回复原文如下: 您好, 平台只支持单级的301跳转 阅读更多…

文章url别名对谷歌seo有利的新发现

前些天我把网站的文章的地址给改了,把诸如daozhao.com/82.html改成了www.daozhao.com/php-link-access-database.html,显然php-link-a 阅读更多…

百度搜索真坏啊

郁闷,本来我站想用的域名是daozhao.com,在谷歌的网站管理员工具也已经将本站的首选域名改成了daozhao.com,但是百度没有类似的站长工具,百度依旧是收录daozhao.com为域名的网页 阅读更多…

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了