【前言】
在工做中,有時候咱們請求的參數可能須要加密,好比登陸接口中的密碼作了加密操做,今天我就給你們介紹一種方法:Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密。html
【正文】
1.咱們首先在Eclipse裏面寫好MD5的加密文件,用Eclipse執行一遍,確保程序調用不會報錯。java
注意:類和方法命名時不要和jmeter自帶的函數助手的同樣app
Eclipse展現圖函數
![](http://static.javashuo.com/static/loading.gif)
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
![](http://static.javashuo.com/static/loading.gif)
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:
![](http://static.javashuo.com/static/loading.gif)
勾選導出內容,給導出的文件命名,點擊Finish:
![](http://static.javashuo.com/static/loading.gif)
導出成功後,文件會生成在你這個Eclipse的工做空間中(在第一次打開Eclipse,會選擇一個工做空間,用來存儲文件)
![](http://static.javashuo.com/static/loading.gif)
找到你本身Jmeter目錄下的lib\ext,將這個jar包複製粘貼進
![](http://static.javashuo.com/static/loading.gif)
4.在Jmeter裏面調用這個jar包
![](http://static.javashuo.com/static/loading.gif)
5.在Jmeter裏面調用這個jar包
![](http://static.javashuo.com/static/loading.gif)
BeanShell Sampler 代碼以下:
import myMd5.myMd5;
String sign = new myMd5().MyMd5("${date}");
System.out.println(sign);
vars.put("sign",sign);
運行結果:
![](http://static.javashuo.com/static/loading.gif)
上面就是Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密全過程!
生成時間戳
![](http://static.javashuo.com/static/loading.gif)