// signatureUtil.js
|
import md5 from "js-md5";
|
let env_secret = 'd78585e683ed11eaa13f0242ac110003'
|
export function signatureGenerate() {
|
// 参数签名 密钥 + 时间戳 + header参数 + url
|
// 密钥
|
let secret = env_secret
|
// 时间戳
|
let timestamp = Math.floor(new Date().getTime() / 1000)
|
// token
|
// let token = params.token
|
// // post参数
|
// let dataStr = dataSerialize(dataSort(params))
|
// 生成签名
|
// let str = dataStr + "secret=" + secret + "×tamp=" + timestamp + "&url=" + url
|
let str = secret + timestamp
|
const sign = md5(str)
|
return {
|
signature: sign.toUpperCase(),
|
timestamp,
|
}
|
}
|
|
// 参数排序
|
function dataSort(obj) {
|
if (JSON.stringify(obj) == "{}" || obj == null) {
|
return {}
|
}
|
let key = Object.keys(obj)?.sort()
|
let newObj = {}
|
for (let i = 0; i < key.length; i++) {
|
newObj[key[i]] = obj[key[i]]
|
}
|
return newObj
|
}
|
|
// 参数序列化
|
function dataSerialize(sortObj) {
|
let strJoin = ''
|
for (let key in sortObj) {
|
strJoin += key + "=" + sortObj[key] + "&"
|
}
|
|
// return strJoin.substring(0, strJoin.length - 1)
|
return strJoin
|
}
|