首页 > 其他 > 详细

jmeter请求加密

时间:2020-08-06 17:04:50      阅读:74      评论:0      收藏:0      [点我收藏+]

请求加密

请求参数是通过加密之后,然后进行发送的,在测试中遇到过,步骤参考如下:

1、用fidder抓包,得到加密后的请求参数

2、和开发沟通系统中用到 请求参数解密 处理过程,自己把相应的jar,导入到eclips,然后写个main函数,进行调用

import com.cucu.mncv.pub.util.ZipUtils;
import com.cucu.mncv.pub.util.encrypt.DESede;
public class Test {
public static void main(String[] args) throws Exception{
String secretKey="rCE6270cmud5PG1tUX3mE65J84u8QEg";
String encryptReq = "*********";
String req = DESede.decrypt(encryptReq, secretKey);
req = ZipUtils.uncompress(req);
System.out.println(req);
}
}

3、将解密后的请求参数,写到请求中的 BeanShell PreProcessor,然后调用 加密处理,这样获得加密的请求参数

 

import com.cucu.mncv.pub.util.ZipUtils;
import com.cucu.mncv.pub.util.encrypt.DESede;
import com.cucu.mncv.pub.util.EncryptUtils;

String param = "{\"password\":\"593368a6-11dd-4f98-aa6b-b4b77ccd0a7a\",\"userId\":4214834,\"policyId\":0,\"proposalCover\":\"01\",\"proposalPersonal\":\"对${seq_no}\",\"proposalVO\":{\"holder\":{\"birthday\":\"1993-12-08\",\"customerId\":0,\"gender\":\"M\",\"realName\":\"土${seq_no}\",\"jobCode\":\"1501006\",\"jobName\":\"工厂、企业一般内勤\"},\"insured\":{\"birthday\":\"1992-07-10\",\"customerId\":0,\"gender\":\"F\",\"hasMedic\":\"Y\",\"realName\":\"杨${seq_no}\",\"jobCode\":\"0901001\",\"jobName\":\"教师\",\"relation\":\"4\"},\"policy1\":{\"prem\":0.0}}}";
String serviceCode = "7403";

param = ZipUtils.compress(param);
param = DESede.encrypt(param, "${secretKey}");

String req = "{\"body\":{\"param\":\"" + param + "\"},\"header\":{\"appToken\":\"${appToken}\",\"appVersion\":${appVersion},\"clientType\":\"01\",\"serviceCode\":\"" + serviceCode + "\",\"sign\":\"${sign}\",\"checkByUserToken\":true}}";
vars.put("req", req);

String digest = EncryptUtils.hash("${appToken}" + req + "${appToken}");
vars.put("digest", digest);

4、在请求中这么写

技术分享图片

 

jmeter请求加密

原文:https://www.cnblogs.com/xiaofeng91/p/13299283.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!