Jmeter引數的AES加密使用

在Jmeter日常實踐中,大家應該都遇到過介面傳參需要加密的情況。以登陸為例,使用者名稱和密碼一般都需要進行加密傳輸,在服務端再進行解密,這樣安全係數會更高,但在使用jmeter進行介面測試的時候,怎樣傳送加密的引數呢,下面以AES加密為例,來示範一下如何在jmeter中對引數進行加密。
一、AES加密演算法除錯(java+myeclipse)
首先要準備一個AES演算法類,並除錯演算法是否可用,我是在網上找的程式碼,除錯可用之後匯出的jar包,詳解一下步驟
1、在myeclipse中新建一個java工程,我命名為了jmeterTest,可以看到jmeterTest下有src這個資料夾。然後在src資料夾下新建一個包,我命名為了AES。此時的包AES是空的,然後要在AES包中建立一個java類,我命名為了AESUtil

2、java類已經建立好了,現在要在類中新增程式碼了,新增下面這段AES加密演算法之後,程式會提示錯誤,因為有個包需要引入,包放在網盤裡連結: https://pan.baidu.com/s/1OxYyK1nI0PhpCofgYXXWrQ 提取碼: s4aw ,選擇工程build path將包匯入到工程中就可以了。根據main函式中的呼叫來測試一下你的程式加密是不是好用。
package AES; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.logging.Level; import java.util.logging.Logger; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; /** * @version V1.0 * @desc AES 加密工具類 */ public class AESUtil { private static String key = "hgfjhgfjsf";//此處的密匙,可以找開發同事提供,我瞎編了一個,要根據實際專案來 private static final String KEY_ALGORITHM = "AES"; private static final String DEFAULT_CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";//預設的加密演算法 /** * AES 加密操作 * * @param content 待加密內容 * @param password 加密密碼 * @return 返回Base64轉碼後的加密資料 */ public static String encrypt(String src) { // 判斷金鑰是否為空 if (key == null) { System.out.print("金鑰不能為空軟體測試學習交流 273462828"); return null; } try { SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("utf-8"), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // 演算法/模式/補碼方式 cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(src.getBytes("utf-8")); return new Base64().encodeToString(encrypted);//base64 //return binary(encrypted, 16); //十六進位制 } catch (Exception ex) { Logger.getLogger(AESUtil.class.getName()).log(Level.SEVERE, null, ex); } return null; } public static void main(String[] args) { //用來測試加密後的字串,我測試的是“1234” String s = "1234"; System.out.println("s:" + s); String s1 = AESUtil.encrypt(s); System.out.println("s1:" + s1); } }
3、程式除錯完畢之後,需要匯出jar包,選中AES包,右擊Exoprt,選擇Runnable JAR File匯出即可,至此我要在jmeter中使用的jar包就準備好了。

二、在jmeter中匯入jar包,在需要進行引數加密的請求中新增BeanShell PreProcessor。
如果對軟體測試、介面測試、自動化測試、效能測試、LR指令碼開發、面試經驗交流。感興趣可以273462828,群內會有不定期的發放免費的資料連結,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。


三、jmeter引用,檢視結果數中檢視一下自己的使用者名稱和密碼引數是否加密了呢?這樣就完成了對jmeter引數進行加密的過程。

