postman 验签
sign 验签规则
var timestamp = getTimeStamp();
postman.setEnvironmentVariable("timestamp", timestamp)
var sign = makeSign();
postman.setEnvironmentVariable("sign", sign)
console.log("++++++++++++++++++++")
console.log(timestamp)
console.log(sign)
//获取时间戳
function getTimeStamp() {
var time = Date();
var date = new Date(time);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = date.getDate();
if (D < 10) {
D = '0' + D;
}
D = D + ' '
var h = date.getHours();
if (h < 10) {
h = '0' + h + ':';
} else {
h = h + ':';
}
m = date.getMinutes();
if (m < 10) {
m = '0' + m + ':';
} else {
m = m + ':';
}
s = date.getSeconds();
if (s < 10) {
s = '0' + s;
}
time = Y + M + D + h + m + s;
return time;
}
function makeSign() //得到md5签名
{
var requestUrl = request.url; //获取url 字符串
// console.log(requestUrl);
//去除空白字符
// console.log((requestUrl));
var requestBody = request.data; //获取请求体
var appsecret = "7bea0f725c2f"; //appsercet 随环境而改变
var position = requestUrl.indexOf('?');
requestUrl = requestUrl.substring(position + 1);
var keyValueArr = requestUrl.split("&");
var paramsArr = {};
var key = "", value = "";
for (var i = 0, count = keyValueArr.length; i < count; i++) {
position = keyValueArr[i].indexOf('=');
key = keyValueArr[i].substring(0, position);
switch (key) {
case "timestamp":
value = postman.getEnvironmentVariable("timestamp");
// console.log(value);
break;
default:
value = keyValueArr[i].substring(position + 1);
break;
}
paramsArr[key] = value;
}
paramsArr = objKeySort(paramsArr); //paramsArr 数组按照字典序排序
var md5Str = "";
for (key in paramsArr) {
// console.log(key + paramsArr[key]);
if (key == "sign") {
continue;
}
md5Str += key + paramsArr[key];
}
console.log("::::::::::::::::::::::::::::::")
console.log(md5Str)
console.log(requestBody)
md5Str = appsecret + md5Str + requestBody + appsecret;
// md5Str = requestBody
// md5Str = md5Str.replace(/\s+/g,""); //去除空白字符
// console.log((md5Str));
var sign = CryptoJS.MD5(md5Str).toString().toUpperCase();
return sign;
}
function objKeySort(arys) //将关联数组按照key 字典序排序,返回值是排序后的数组。
{
//先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
var newkey = Object.keys(arys).sort();
var newObj = {}; //创建一个新的对象,用于存放排好序的键值对
for (var i = 0; i < newkey.length; i++) {
newObj[newkey[i]] = arys[newkey[i]];
}
return newObj;
}
你所浪费的今天是那些死去的人所奢望的明天,你所厌恶的现在是未来的你所回不去的曾经。

浙公网安备 33010602011771号