Jmeter 裏如何使用MD5 加密

什麼是MD5加密?java

MD5是 Message Digest Algorithm , 即消息摘要算法第5版。MD5的前生有MD2,MD3,MD4算法

MD5特色:數組

  1. 壓縮性(加密後長度一致)   2. 容易計算  3. 抗修改性    4. 強抗碰撞app

在Jmeter裏面如何使用MD5 加密目標字符串?函數

方法一:加密

使用Jmeter自帶的MD5函數,打開函數幫助,找到__MD5函數,在第一個名稱「String to calculate MD5 hash」 處填入須要加密的字符串,點擊「生成」按鈕,即生成對應的函數字符串。md5

而後在對應的Http請求裏黏貼上該函數便可。utf-8

方法二:字符串

在Jmeter的Http請求下添加一個 BeanShell PreProcessor, 在裏面使用BeanShell 語言實現MD5機密算法。get

 

import java.security.MessageDigest;

var partnerId = "${partnerId_1}";
//var timestamp = "132";
//var partnerSecret = "9069a886bb2e4f7889c2ad89490e9284";
var partnerSecret = "${partnerSecret_1}";

Date date = new Date(); 
now = date.getTime();

TEMP_STR = "partnerId=" + partnerId + "&timestamp=" + now + "&partner_secret=" + partnerSecret;

// 拿到一個MD5轉換器
MessageDigest md = MessageDigest.getInstance("MD5");
// 建立一個字節數組
byte[] md5hash = new byte[32];

md.update(TEMP_STR.getBytes("utf-8"), 0, TEMP_STR.length());
//轉換並返回結果
md5hash = md.digest();
System.out.println("sssssssssssssssssssssssssss");
StringBuffer sb = new StringBuffer();
for (int i=0;i<md5hash.length;i++) {
    String sval = Integer.toHexString((int) md5hash[i] & 0xFF);
    if(sval.length()== 1)
    {
        sval = "0"+sval;
    }
                sb.append(sval);
}   

vars.putObject("MD5Signature", sb.toString().toUpperCase()); vars.putObject("timestamp",timestamp); vars.putObject("partnerId",partnerId); vars.putObject("partnerSecret",partnerSecret); System.out.println(sb.toString());

相關文章
相關標籤/搜索