在工做中,有時候咱們請求的參數可能須要加密,好比登陸接口中的密碼作了加密操做,今天我就給你們介紹一種方法:Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密。java
1.咱們首先在Eclipse裏面寫好MD5的加密文件,用Eclipse執行一遍,確保程序調用不會報錯。app
Eclipse展現圖:函數
Str2MD5.java 代碼:加密
1 package com.md5; 2 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 public class Str2MD5 { 7 8 public String MD5(String sourceStr) { 9 String result = ""; 10 try { 11 MessageDigest md = MessageDigest.getInstance("MD5"); 12 md.update(sourceStr.getBytes()); 13 byte b[] = md.digest(); 14 int i; 15 StringBuffer buf = new StringBuffer(""); 16 for (int offset = 0; offset < b.length; offset++) { 17 i = b[offset]; 18 if (i < 0) 19 i += 256; 20 if (i < 16) 21 buf.append("0"); 22 buf.append(Integer.toHexString(i)); 23 } 24 result = buf.toString(); 25 System.out.println("MD5(" + sourceStr + ",32) = " + result); 26 // System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24)); 27 } catch (NoSuchAlgorithmException e) { 28 System.out.println(e); 29 } 30 return result; 31 } 32 }
2.寫好這個類以後,再寫一個test類調用一下這個方法:spa
Eclipse展現圖:3d
Test.java代碼以下:code
1 package com.md5; 2 3 public class test { 4 5 public static void main(String[] args) { 6 String reString = new Str2MD5().MD5("suneee1234"); 7 System.out.println(reString); 8 } 9 }
3.將文件導出爲jar包,並放到 Jmeter的lib/ext文件目錄下blog
選擇整個包,點擊Export:接口
選擇Java —> JAR file:ip
勾選導出內容,給導出的文件命名,點擊Finish:
導出成功後,文件會生成在你這個Eclipse的工做空間中(在第一次打開Eclipse,會選擇一個工做空間,用來存儲文件)
找到你本身Jmeter目錄下的lib\ext,將這個jar包複製粘貼進去:
4.在Jmeter裏面調用這個jar包
BeanShell Sampler 代碼以下:
1 import com.md5.Str2MD5; 2 String res = new Str2MD5().MD5("suneee1234"); 3 System.out.println(res); 4 props.put("md5",res.toString());
運行結果:
上面就是Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密全過程!
至於還有一種方法網上說是直接調用MD5函數,可是我實在沒有找到,是否是我版本過高了?尷尬......