Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密

參考http://www.javashuo.com/article/p-zavcccqg-kn.html

【前言】

在工做中,有時候咱們請求的參數可能須要加密,好比登陸接口中的密碼作了加密操做,今天我就給你們介紹一種方法:Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密。html

【正文】

1.咱們首先在Eclipse裏面寫好MD5的加密文件,用Eclipse執行一遍,確保程序調用不會報錯。java

注意:類和方法命名時不要和jmeter自帶的函數助手的同樣app

Eclipse展現圖函數

 

 

myMd5.java 代碼:this

package myMd5;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class myMd5 {加密

  Logger log = Logger.getLogger(this.getClass().getName());
  public String MyMd5(String sourceStr) {
    String result = "";
    // Long timeStamp = System.currentTimeMillis();
    String appkey = "key";
    String key = "key";
    String Strsource =appkey + sourceStr + key;
    System.out.println(Strsource);
    log.log(Level.INFO, Strsource);
    try {
      MessageDigest md = MessageDigest.getInstance("MD5");
      md.update(Strsource.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(" +Strsource + ",32) = " + result);
    // System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
    } catch (NoSuchAlgorithmException e) {
    System.out.println(e);
  }
    return result;
  }
}3d

2.寫好這個類以後,再寫一個test類調用一下這個方法:code

Eclipse展現圖:htm

 

 

Test.java代碼以下:blog

package myMd5;

import myMd5.myMd5;

public class test {

  public static void main(String[] args) {
    String reString = new myMd5().MyMd5("1557126194208");
    System.out.println(reString);
  }
}

 

3.將文件導出爲jar包,並放到 Jmeter的lib/ext文件目錄下

選擇整個包,點擊Export,而後選擇Java —> JAR file:

 

 

勾選導出內容,給導出的文件命名,點擊Finish:

 

 

導出成功後,文件會生成在你這個Eclipse的工做空間中(在第一次打開Eclipse,會選擇一個工做空間,用來存儲文件)

 

 

找到你本身Jmeter目錄下的lib\ext,將這個jar包複製粘貼進

 

 

4.在Jmeter裏面調用這個jar包

5.在Jmeter裏面調用這個jar包

 

 

 

BeanShell Sampler 代碼以下:

import myMd5.myMd5;
String sign = new myMd5().MyMd5("${date}");
System.out.println(sign);
vars.put("sign",sign);

 

運行結果:

上面就是Jmeter用BeanShell Sampler調用java寫的jar包進行MD5加密全過程!

生成時間戳

相關文章
相關標籤/搜索