Jmeter參數的AES加密使用

在Jmeter平常實踐中,你們應該都遇到過接口傳參須要加密的狀況。以登錄爲例,用戶名和密碼通常都須要進行加密傳輸,在服務端再進行解密,這樣安全係數會更高,但在使用jmeter進行接口測試的時候,怎樣發送加密的參數呢,下面以AES加密爲例,來示範一下如何在jmeter中對參數進行加密。java

1、AES加密算法調試(java+myeclipse)

首先要準備一個AES算法類,並調試算法是否可用,我是在網上找的代碼,調試可用以後導出的jar包,詳解一下步驟面試

一、在myeclipse中新建一個java工程,我命名爲了jmeterTest,能夠看到jmeterTest下有src這個文件夾。而後在src文件夾下新建一個包,我命名爲了AES。此時的包AES是空的,而後要在AES包中建立一個java類,我命名爲了AESUtil算法

二、java類已經建立好了,如今要在類中添加代碼了,添加下面這段AES加密算法以後,程序會提示錯誤,由於有個包須要引入,包放在網盤裏連接: https://pan.baidu.com/s/1OxYyK1nI0PhpCofgYXXWrQ 提取碼: s4aw ,選擇工程build path將包導入到工程中就能夠了。根據main函數中的調用來測試一下你的程序加密是否是好用。apache

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);        
    }
 
}

三、程序調試完畢以後,須要導出jar包,選中AES包,右擊Exoprt,選擇Runnable JAR File導出便可,至此我要在jmeter中使用的jar包就準備好了。安全

 

2、在jmeter中導入jar包,在須要進行參數加密的請求中添加BeanShell PreProcessor。

若是對軟件測試、接口測試、自動化測試、性能測試、LR腳本開發、面試經驗交流。感興趣能夠273462828,羣內會有不按期的發放免費的資料連接,這些資料都是從各個技術網站蒐集、整理出來的,若是你有好的學習資料能夠私聊發我,我會註明出處以後分享給你們。dom

 

3、jmeter引用,查看結果數中查看一下本身的用戶名和密碼參數是否加密了呢?這樣就完成了對jmeter參數進行加密的過程。

 

相關文章
相關標籤/搜索