承接 aliservice/think-apisign 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aliservice/think-apisign

最新稳定版本:1.0.0

Composer 安装命令:

composer require aliservice/think-apisign

包简介

README 文档

README

Postman


const salt = 'default'

function randomString(len) {
  len = len || 32;
  var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
  var maxPos = $chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
}

function ksort(o){
    let sorted = {}
    let keys = Object.keys(o)
    keys.sort()
    keys.forEach((key)=>{
        if(typeof o[key] != 'object' && o[key] && o[key] !== '0'){
            sorted[key] =  o[key]
        }
    })
    return sorted
}

function makeSign(request_data,timestamp,randStr){
    data = ksort(request_data)
    let string = ""
    Object.keys(data).forEach((key)=>{
        string += key + '=' + data[key] + '&'
    })
    string += salt + timestamp + randStr
    return CryptoJS.MD5(string).toString().toLocaleUpperCase()
}

let request_data = pm.request.method.toLocaleUpperCase() === 'POST' ? JSON.parse(pm.request.body.raw) : pm.request.url.query.toObject()

const timestamp = Date.parse(new Date()).toString().substring(0,10)
const randStr = randomString(10)
const sign = makeSign(request_data,timestamp,randStr);
pm.request.headers.upsert({key:"timestamp",value:timestamp})
pm.request.headers.upsert({key:"randStr",value:randStr})
pm.request.headers.upsert({key:"sign",value:sign})

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2023-01-29