jmeter用BeanShell調用jar包對HTTP請求中的參數進行MD5加密


前提:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM