...
第三步:修改脚本,如下secret,填写正确的开放平台密钥
POST请求方式签名
第一步:填写参数
第二步:填写脚本和密钥
代码块 | ||||
---|---|---|---|---|
| ||||
// 写入密钥(用户需要填写)
var map = new Map();
map.set("secret","89908acc57d64110b0b805977244d5c6")
var params = request.data
let parmsJson = JSON.parse(params)
var timestamp = Date.parse(new Date());
map.set("timestamp",timestamp)
for(var key in parmsJson){
if(key=="signature"){
continue
}
if(key=="timestamp"){
continue
}
map.set(key,parmsJson[key])
}
console.log(map)
var arrayObj=Array.from(map);
arrayObj.sort(function(a,b){return a[0].localeCompare(b[0])})
//字段重新组装拼接
var tmp='';
for(var i=0;i<arrayObj.length;i++){
tmp += arrayObj[i][0]+"="+arrayObj[i][1]+"&";
}
tmp = tmp.substring(0,tmp.lastIndexOf("&"))
console.log("tmp ---->" + tmp);
//生成签名串:这里使用SHA1算法并使用十六进制编码
//CryptoJS-为JavaScript提供了各种各样的加密算法
//作者:CryptoJS<>(https://code.google.com/p/crypto-js/)
// var signHmacSHA1=CryptoJS.SHA1(tmp).toString(CryptoJS.enc.Hex).toUpperCase();
var signHmacSHA1=CryptoJS.SHA1(tmp).toString(CryptoJS.enc.Hex);
console.log("sign ---->" + signHmacSHA1);
//放入环境变量
//pm.environment.set("sha1msg",signHmacSHA1)
postman.setGlobalVariable("signature", signHmacSHA1);
postman.setGlobalVariable("timestamp", timestamp); |