前提:
eclipse、JDK、Jmeter
說明:
本文分為兩部分進行配置說明
第一部分:編寫JavaMD5加密腳本
第二部分:使用Jmeter的BeanShell進行驗證
****************************************************************************************
第一部分:編寫JavaMD5加密腳本:
第一步:打開eclipse,創建一個MD5Test包,如下圖:
輸入創建的包的名稱,點擊Finish
完成后如下圖:
第二步:選擇該包,郵件創建一個class類
創建class的名稱為MD5_Method,點擊finish,如下圖:
完成后如下圖所示:
第三步:編寫MD5方法,如下圖:
腳本如下:
package MD5Test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5_Method { public String MD5(String sourceStr) { String result = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(sourceStr.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(" + sourceStr + ",32) = " + result); // System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24)); } catch (NoSuchAlgorithmException e) { System.out.println(e); } return result; } }
第四步:編寫一個test腳本,測試MD5加密方法的正確性
方法同創建MD5_Method方式一致,如下圖:
test中的腳本編寫如下:
package MD5Test; import MD5Test.MD5_Method; public class test { public static void main(String[] args){ String res = new MD5_Method().MD5("wangyuhang@acktest"); System.out.print(res); } }
驗證,點擊界面上的Run菜單選項運行test.Java文件,如下圖:
第五步:將MD5Test導出為jar包
選擇MD5Test右鍵選擇導出,如下圖:
選擇Java下的Jar File 點擊next,如下圖:
配置JARfile導出的路徑及導出的名稱點擊finish,在D:\Beanshellstudy\路徑下查看是否存在TestMD5.jar文件,如下圖:
第六步:將打包出來的TestMD5.jar文件放到Jmeter的\lib\ext目錄下,如下圖:
第六步:啟動Jmeter(注意每次更新ext下的文件時需要重啟Jmeter才生效)
**************************************************************************************
第二部分:使用Jmeter的BeanShell進行驗證
第一步:啟動Jmeter,並創建一個test的線程組,如下圖:
(右鍵測試計划—添加—Thread(Users)—線程組,如下圖:)
第二步:選擇添加—配置元件—用戶定義的變量,如下圖:
第三步:選擇用戶定義的變量添加passwd及相應的值,如下圖:
第四步:創建HTTP請求(添加—sampler—HTTP請求),如下圖:
服務器名稱:www.baidu.com(以百度為例)
路徑:/login.php(隨意)
點擊界面下的添加按鈕,填寫帶的參數
第五步:添加察看結果樹(添加—監聽器—察看結構樹),如下圖
這里保持默認就好不需要配置
第六步:在http請求下,添加BeanShell前置處理器,如下圖:
添加完成后選擇添加的BeanShell Preprocessor,編寫腳本,如下圖所示:
import MD5Test.MD5_Method; String input = vars.get("passwd"); String output = new MD5_Method().MD5(input); vars.put("passwd",output);
第七步:為了察看請求前和請求后passwd的值,在http請求的前后加上debug,如下圖:
配置默認就好
第八步:運行Jmeter腳本
請求passwd的值:
請求后passwd的值,已經進行加密處理:
HTTP請求中的passwd值,如下圖:
至此說明MD5加密成功。。。。OK
參考文檔:
https://www.cnblogs.com/xinxin1994/p/6835257.html