腾讯云智绘获取 sig_音视频解决方案_同尘科技

腾讯云智绘 2年前 (2023-03-01) 浏览 77

获取 sig 信息应请求业务方自身的接口流程

1. 业务方首先确定待签名参数以及私钥。2. 业务方将待签名参数发送到后台。3. 后台将获得的待签名参数通过私钥加密后返回给前端。

后台加密过程示例

const crypto = require('crypto')const urlencode = require('urlencode') // ************************************// params 为请求加密参数// key 为加密密钥,比如:secretKey// ************************************function sigCode(params: any, key: string) {  try {    let queryDataTmp = Object.assign({}, params)    delete queryDataTmp.sig    delete queryDataTmp.host    // 第一步:将所有参数按key进行字典升序排列    let paramtmp = Object.keys(queryDataTmp).sort()    let parmaSort = ''    // 第二步:将重新排序后的参数(key=value)用&拼接起来,得到源串    for (const item of paramtmp) {      // 对象和数组进行字符串化      let itemValue = queryDataTmp[item]      let changeType = ['object', 'array']      if (changeType.indexOf(typeof itemValue) >= 0) {        itemValue = JSON.stringify(itemValue)      }      parmaSort = parmaSort + item + '=' + itemValue + '&'    }    parmaSort = urlencode(parmaSort.substr(0, parmaSort.length - 1))    // 第三步:使用HMAC-SHA256加密算法,通过密钥(secretKey或appkey)对源串加密    const sig = crypto.createHmac('sha256', key).update(parmaSort)    return sig.digest('hex')  } catch (error) {    console.log('codeSig error:', error)    return false  }}

获取 sig 示例

请求参数:

{    "id": "611f6b5b01af259c18954808",    "secretId": "ca355ab0019211ecaed0ed79aa4a58cf",    "users": [{"name": "javinz", "age": 18}],}

排序并且字符串格式化后得到(用&连接每一个参数):

id=611f6b5b01af259c18954808&secretId=ca355ab0019211ecaed0ed79aa4a58cf&users=[{"name":"javinz","age":18}]

urlencode 编码后得到:

id%3D611f6b5b01af259c18954808%26secretId%3Dca355ab0019211ecaed0ed79aa4a58cf%26users%3D%5B%7B%22name%22%3A%22javinz%22%2C%22age%22%3A18%7D%5D

假设加密密钥 key 为:taidc,那么最后得到的 sig 为:

1c55d09921cad5a44de7cc983fe3de4e8ef6d7f98fd054b5335d729eb9ee3534

在线验证签名:验证签名注意:您通过哪些参数获得的 sig,在使用 sig 时应传入相同的参数,例如您通过 id、secretId 参数得到了 sig,那么在请求“https://zhihui.qq.com/account/api/auth/token”等接口使用 sig 时也应只传入 id、secretId 参数,不可以多或少传入参数。 

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?