什麼是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 + "×tamp=" + 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());