【前言】
在工做中,有时候咱们请求的参数可能须要加密,好比登陆接口中的密码作了加密操做,今天我就给你们介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密。html
【正文】
1.咱们首先在Eclipse里面写好MD5的加密文件,用Eclipse执行一遍,确保程序调用不会报错。java
注意:类和方法命名时不要和jmeter自带的函数助手的同样app
Eclipse展现图函数

myMd5.java 代码:this
package myMd5;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class myMd5 {加密
Logger log = Logger.getLogger(this.getClass().getName());
public String MyMd5(String sourceStr) {
String result = "";
// Long timeStamp = System.currentTimeMillis();
String appkey = "key";
String key = "key";
String Strsource =appkey + sourceStr + key;
System.out.println(Strsource);
log.log(Level.INFO, Strsource);
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(Strsource.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
// System.out.println("MD5(" +Strsource + ",32) = " + result);
// System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
}
}3d
2.写好这个类以后,再写一个test类调用一下这个方法:code
Eclipse展现图:htm

Test.java代码以下:blog
package myMd5;
import myMd5.myMd5;
public class test {
public static void main(String[] args) {
String reString = new myMd5().MyMd5("1557126194208");
System.out.println(reString);
}
}
3.将文件导出为jar包,并放到 Jmeter的lib/ext文件目录下
选择整个包,点击Export,而后选择Java —> JAR file:

勾选导出内容,给导出的文件命名,点击Finish:

导出成功后,文件会生成在你这个Eclipse的工做空间中(在第一次打开Eclipse,会选择一个工做空间,用来存储文件)

找到你本身Jmeter目录下的lib\ext,将这个jar包复制粘贴进

4.在Jmeter里面调用这个jar包

5.在Jmeter里面调用这个jar包

BeanShell Sampler 代码以下:
import myMd5.myMd5;
String sign = new myMd5().MyMd5("${date}");
System.out.println(sign);
vars.put("sign",sign);
运行结果:

上面就是Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密全过程!
生成时间戳
