javascript完成腾讯AI开放平台,挪用API时的接口鉴权,天生sign正当署名

全部流程图

《javascript完成腾讯AI开放平台,挪用API时的接口鉴权,天生sign正当署名》

在网上查了许多,但看到有人用javascript前端做腾讯AI开放平台,天生署名的,所以闲着就本身弄了一下。完成的流程是和官方的实例是一样的,不过官方只给了PHP和Pythonr的体式格局。

大抵的流程是:字典排序 -> 拼接URL键值对(value部份须要URL编码) -> 拼接app_key -> MD5运算 -> 转换大写

字典排序:《javascript完成PHP字典排序ksort

拼接URL键值对:

// 拼按URL键值对
Object.keys(aa).forEach((key, i) => {
  if (aa[key] !== ''){
    bb += key + '=' + encodeURIComponent(aa[key]) + '&'
  }
});

拼接app_key:

// 拼接app_key
let cc = `${bb}app_key=${config.tencentKey}`

MD5运算:

const MD5 = require("../../static/javascripts/md5");
// MD5运算
let dd = MD5(cc)

// 转换大写

// 转换大写
let sign = dd.toUpperCase()

末了,得出sign正当署名。如许就能够要求腾讯API开放平台上的API。

【注重:】
假如运用身份证OCR接口,image字段是的base64的时刻,花样题目(不须要前面data:image/jpg;base64,)。假如运用微信小顺序,能够下获得base64花样:

wx.chooseImage({
    sizeType: ['original', 'compressed'],
    sourceType: ['album', 'camera'],
    success: function (res) {
        wx.getFileSystemManager().readFile({
          filePath: res.tempFilePaths[0], //挑选图片返回的相对路径
          encoding: 'base64', //编码花样
          success: res => { //胜利的回调
            console.log('data:image/png;base64,' + res.data)
          }
        })
    }
})

其他要领:

/**
 * JS天生随机字符串
 * @param {Number} len 字节长度
 */
export function randomString(len) {
  len = len || 32;
  var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默许去掉了轻易殽杂的字符oOLl,9gq,Vv,Uu,I1****/
  var maxPos = $chars.length;
  var pwd = '';
  for (var i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
}
    原文作者:凯迪Wen
    原文地址: https://segmentfault.com/a/1190000018956100
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞