使用Postman工具对入参进行Base64处理

请求参数是json格式,但是必须要对参数进行Bas e64加密处理在进行发送请求

Posted by Steven on 2018-08-20

最近在做项目的时候,要调用公司的一些其他的项目,请求参数是json格式,但是必须要对参数进行Bas e64加密处理,最开始的直接将json复制到很多在线Base64加解密的网站工具上进行加密,后面觉得很麻 烦,就研究了一下Postman,发现Postman很容易就可以实现这一点:

一、问题描述

先看下请求的要求:

URL示例:

1
http://127.0.0.1:8080/wfm/member/getMember?eyJtZW1iZXJJZCI6JkcsInVzZXJOYW1lIuoiMT g4MDE5MTI4NzQifQ==

请求方式:GET 加密前的请求体:

1
{"memberId":"1234","userName":"18800000000"}

注:大多数请求参数参数还是key-value形式,注意换一下就可以了,

1
http://127.0.0.1:8080/wfm/membe r/getMember?base64Str=eyJtZW1iZXJJZCI6JkcsInVzZXJOYW1lIuoiMTg4MDE5MTI4NzQifQ==

二、使用Postman工具对入参进行处理

image-20200824115821526

Pr e-request Script:

1
2
3
4
5
6
var userName="18800000000";
var rawStr='{"memberId":"","userName":"'+userName+'"}';
var wordArray = CryptoJS.enc.Utf8.parse(rawStr);
var base64 = CryptoJS.enc.Base64.stringify(wordArray);
console.log('base64Encrypt = ', base64);
pm.globals.set("base64Str", base64);

三、对返回结果进行Base64解密

image-20200824115936982

1
2
3
4
5
6
7
8
9
10
11
var intermediate;
var base64Content;
intermediate = CryptoJS.enc.Base64.parse(responseBody);
//pm.response.text()==responseBody base64Content=intermediate.toString(CryptoJS.enc.Utf8);
//对解密后的数据进行提取json部分
var jsonValue=base64Content.substring(base64Content.indexOf("{"),base64Content.lastIndexOf("}")+1 );
console.log(jsonValue);
//对json部分数据转换为json数据格式
// var jsonData = JSON.parse(jsonValue);
// console.log("---jsonData--"+jsonData);
tests[`${jsonValue}`] = true;

注意:

1、如果返参没有加密,就不需要解密

2、解密后的结果显示在 Test Results中,或者Postman的控制台

推荐文章