- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
鉴权签名-腾讯
鉴权签名
调用腾讯云优图人脸识别API时 ,需要填写签名参数以验证请求的合法性。签名由一
组密钥加密生成 ,如果不在请求中带上签名参数 ,腾讯云将拒绝该次请求。签名分
为多次有效签名和单次有效签名 :
多次有效签名 :需要设置大于当前时间的有效期 ,有效期内此签名可多次使用 ,有
效期最长可设置三个月。
单次有效签名 :有效期必须设置为0 ,此签名只可使用一次 ,且只能应用于被绑定的
文件。
鉴权签名
整体流程
申请密钥
拼接签名串
生成签名
使用签名串
整体流程
申请密钥
拼接签名串
生成签名
调用接口时带上签名
申请密钥
1.登录 腾讯云项目密钥管理页面
2.点击新建密钥
3.选择需要生成密钥的项目
拼接签名串
如果你需要自行实现签名算法 ,请按以下指引操作 ,以人脸检测接口说明如下 :
假设你需要调用人脸检测接口 ,URL :
/youtu/api/facedetect
签名需要的参数:ID、SecretID和SecretKey ;这里假设分别是 :
ID =2011541224
SecretID= AKID2ZkOXFyDRHZRlbPo93SMtzVY79kpAdGP
SecretKey=ckKU7P4FwB4PBZQlnB9hfBAcaKZMeUge
拼接有效签名串
u 10000a 2011541224k AKID2ZkOXFyDRHZRlbPo93SMtzVY79kpAdGPe 1
432970065t 1427786065r 270494647f
v 为API版本
u 为开发者业务系统的用户标识, 即userid
a 为开发者帐号内的项目id, 即上述项目密钥管理页面中的id
k 为开发者帐号内的项目id, 即上述项目密钥管理页面中的SecretID
t 为当前时间戳 ,是一个符合UNIX Epoch时间戳规范的数值 ,单位为秒
e 为此签名的凭证有效期 ,是一个符合UNIX Epoch时间戳规范的数值 ,单位为秒, e应大
于t, 生成的签名在 t 到 e 的时间内 都是有效的. 如果是0, 则生成的签名只有再t的时刻
是有效的
r 为随机串 ,无符号10进制整数 ,用户需自行生成 ,最长10位
f 拼接有效签名串的结果,下文称之为orignal ,默认为空
生成签名
腾讯云采用 HMACSHA1 算法对请求进行签名。签名串需要使用 Base64 编码。
根据签名方法Sign Base64(HMACSHA1(SecretKey, orignal) + original) ,其中
orignal为上一步拼接好的签名串 ,对orignal使用HMACSHA1算法进行签名 ,然后
将orignal附加到签名结果的末尾 ,再进行Base64编码 ,得到最终的sign。
注 :此处使用的是标准的Base64编码 ,不是urlsafe的Base64编码*
以 PHP 语言为例
$SecretID = AKID2ZkOXFyDRHZRlbPo93SMtzVY79kpAdGP
$secretKey = ckKU7P4FwB4PBZQlnB9hfBAcaKZMeUge
$orignal=u=10000a=2011541224k=AKID2ZkOXFyDRHZRlbPo93SMtzVY79kpA
dGPe=1432970065t=1427786065r=270494647f=
$signStr = base64_encode(hash_hmac(sha1, $srcStr, $secretKey,
true).$srcStr)
echo $signStr.\n
使用其它程序设计语言开发时, 可用上面示例中的原文进行签名
文档评论(0)