【前言】
在工作中,有時候我們請求的參數可能需要加密,比如登錄接口中的密碼做了加密操作,今天我就給大家介紹一種方法:Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密。
【正文】
1.我們首先在Eclipse里面寫好MD5的加密文件,用Eclipse執行一遍,確保程序調用不會報錯。
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類調用一下這個方法:
Eclipse展示圖:
Test.java代碼如下:
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文件目錄下
選擇整個包,點擊Export:
選擇Java —> JAR file:
勾選導出內容,給導出的文件命名,點擊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函數,但是我實在沒有找到,是不是我版本太高了?尷尬......