Jmeter使用BeanShell对参数进行MD5加密生成签名

发布于:2023-01-15 ⋅ 阅读:(777) ⋅ 点赞:(0)

第一部分:

1、打开Jmeter,新建一个测试计划,在测试计划下面添加一个http请求,再在前置处理器里添加BeanShell PreProcessorBeanShell PreProcessor 主要是用来完成加密字符串的拼接和MD5 加密

2、线程组下面添加一个 HTTP信息头管理器,用于设置请求信息头里面的参数。

3、最后添加 察看结果树 和 聚合报告

这样一个接口就写好了,下面我们对BeanShell PreProcessor内容:

(因为Jmeter自带 org.apache.commons.codec.digest  jar,所以只需要导入就可以了)

// 导入MD5加密需要用到的jar包。

import org.apache.commons.codec.digest.DigestUtils;

//声明你要加密的参数。

String secretKey ="×××××";
String mmid = "×××××";
String accessKey = "×××××";
String nonce = "×××××";
String timestamp ="${__time(,)}";//生成13位时间戳
String token = "×××××";

//拼接需要加密的参数。

String sign ="accessKey="+accessKey+"&nonce="+nonce+"&mmid="+ouid+"&secretKey="+secretKey+"&timestamp="+timestamp+"&token="+token;

// 加密已拼接的字符串

String signs = DigestUtils.md5Hex(sign);
vars.put("mmid",ouid);//把生成的ouid提供给beanshell外部组件引用
vars.put("accessKey",accessKey);//把生成的accessKey提供给beanshell外部组件引用
vars.put("nonce",nonce);//把生成的nonce提供给beanshell外部组件引用
vars.put("timestamp",timestamp);//把生成的timestamp提供给beanshell外部组件引用
vars.put("token",token);//把生成的token提供给beanshell外部组件引用
vars.put("sign",signs);//把生成的signs提供给beanshell外部组件引用

脚本到这就写完啦,我们在入参直接引用就好啦


网站公告

今日签到

点亮在社区的每一天
去签到