0


postman前置钩子处理base64、MD5加密,加签请求

postman前置钩子处理加密请求参数

  1. 你是不是遇到过请求参数需要base64、md5等加密呢
  2. 这种情况下之前做法是三方网站加密之后拿到密文到postman请求
  3. 或者是需要加签请求,这时候你还得先运行脚本或者sign之后然后一个一个配
  4. 你看了这篇文章你可以直接使用明文+前置钩子请求

设置参数

在这里插入图片描述

设置钩子

在这里插入图片描述

发起请求

在这里插入图片描述

加密代码

// console.log(pm.request.body.raw)const jsonData =JSON.parse(pm.request.body.raw);// base64加密 password 参数
jsonData.password =btoa(jsonData.password);//md5加密 这段代码是演示// 导入 crypto-js 库// 检查 CryptoJS 是否已经存在if(typeof CryptoJS ==='undefined'){// 导入 crypto-js 库const CryptoJS =require('crypto-js');}// 计算 MD5 哈希值const md5Hash = CryptoJS.MD5(jsonData.password).toString();
console.log(md5Hash)// 更新请求体
pm.request.body.update({mode:"raw",raw:JSON.stringify(jsonData),options:{raw:{language:"json"}}});

加签代码 请求中直接使用变量{{sign}}

在这里插入图片描述

console.log(request.data);
keys = Object.keys(request.data).sort()//请求参数名按照ASCII码升序排序//拼接待签名字符串var str =[]for(var p =0; p < keys.length; p++){if(keys[p]=="sign"|| request.data[keys[p]]===""){// "==" ==宽松相等,隐性类型转换,值相等,返回true; "===" 严格相等,值和类型都相等,返回truecontinue;}
    str.push(keys[p]+"="+ request.data[keys[p]]);}
str.push('key='+ pm.environment.get("key"))var sign = str.join("&")//MD5加密签名规格,并赋值给环境变量`sign`
pm.environment.unset("sign");
pm.environment.set("sign", CryptoJS.MD5(sign).toString());

本文转载自: https://blog.csdn.net/qq_39272466/article/details/134558257
版权归原作者 joker.zeng 所有, 如有侵权,请联系我们删除。

“postman前置钩子处理base64、MD5加密,加签请求”的评论:

还没有评论