编辑: 元素吧里的召唤 | 2018-05-19 |
删除文件必须使用单次有效签名;
上传必须使用多次有效签名;
具体适用场景参见签名适用场景. 2.3 生成签名 Page
5 of
8 ?2013-2017 Tencent Cloud. All rights reserved. 开发者手册 Product Introduction 1. 微视频使用 HMAC-SHA1 算法对请求进行签名;
2. 签名串需要使用 Base64 编码. 即生成签名的公式如下: SignTmp = HMAC-SHA1(SecretKey, orignal) Sign = Base64(SignTmp.orignal) 其中SecretKey为2.1节获取的Secret Key,orignal为2.2节中拼接好的签名串,首先对orignal使用HMAC- SHA1算法进行签名,然后将orignal附加到签名结果的末尾,再进行Base64编码,得到最终的sign. 注:此处使用的是标准的Base64编码,不是urlsafe的Base64编码,请注意.
3 实例 本节介绍生成签名的算法实例,实例中使用PHP语言,如果开发者使用其他与开发,请使用对应的算法. 3.1 获取签名所需信息 获取得到的签名所需信息如下. 项目ID:200001 空间名称(bucket):newbucket Secret ID:AKIDUfLUEUigQiXqm7CVSspKJnuaiIKtxqAv Secret Key:bLcPnl88WU30VY57ipRhSePfPdOfSruK 3.2 拼接签名串 拼接的多次有效签名串如下: Page
6 of
8 ?2013-2017 Tencent Cloud. All rights reserved. 开发者手册 Product Introduction a=200001&b=newbucket&k=AKIDUfLUEUigQiXqm7CVSspKJnuaiIKtxqAv&e=1438669115&t=14360 77115&r=11162&f= 拼接的单次有效签名串如下: a=10001290&b=tencentyun&k=AKIDgaoOYh2kOmJfWVdH4lpfxScG2zPLPGoK&e=0&t=1436077115 &r=11162&f=tencentyunSignTest $appid = "200001";
$bucket = "newbucket";
$secret_id = "AKIDUfLUEUigQiXqm7CVSspKJnuaiIKtxqAv";
$secret_key = "bLcPnl88WU30VY57ipRhSePfPdOfSruK";
$expired = time() + 60;
$onceExpired = 0;
$current = time();
$rdm = rand();
$userid = "0";
$fileid = "/200001/newbucket/tencent_test.jpg";
$srcStr = 'a='.$appid.'&b='.$bucket.'&k='.$secret_id.'&e='.$expired.'&t='.$current.'&r='.$rdm.'&f=';
$srcStrOnce= 'a='.$appid.'&b='.$bucket.'&k='.$secret_id.'&e='.$onceExpired .'&t='.$current.'&r='.$rdm .'&f='.$fileid;
3.3 生成签名 $signStr = base64_encode(hash_hmac('SHA1', $srcStr, $secret_key, true).$srcStr);
$signStrOnce = base64_encode(hash_hmac('SHA1',$srcStrOnce,$secret_key, true).$srcStrOnce);
Page
7 of
8 ?2013-2017 Tencent Cloud. All rights reserved. 开发者手册 Product Introduction echo $signStr."\n";
echo $signStrOnce."\n";
最终得到的多次有效签名为: vxzLR6vzMNhBMUVzMTWKUB+LMeVhPTIwMDAwMSZrPUFLSURVZkxVRVVpZ1FpWHFtN0 NWU3NwS0pudWFpSUt0eHFBdiZlPTE0Mzc5OTU3MDQmdD0xNDM3OTk1NjQ0JnI9MjA4 MTY2MDQyMSZmPSZiPW5ld2J1Y2tldA== 单次有效签名为: f11dDSuw86CR02Ko1INzsZstbRlhPTIwMDAwMSZrPUFLSURVZkxVRVVpZ1FpWHFtN0 NWU3NwS0pudWFpSUt0eHFBdiZlPTAmdD0xNDM3OTk1NjQ1JnI9MTE2NjcxMDc5MiZm PS8yMDAwMDEvbmV3YnVja2V0L3RlbmNlbnRfdGVzdC5qcGcmYj1uZXdidWNrZXQ=
4 签名适用场景 微视频对签名的适用场景做了如下限制: 场景 适用签名 下载(不开启token防盗链) 不验证签名 上传 多次有效签名 查询目录、文件 创建目录 下载(开启token防盗链) 删除目录、文件 单次有效签名 更新目录、文件 Powered by TCPDF (www.tcpdf.org) Page
8 of
8 ?2013-2017 Tencent Cloud. All rights reserved.