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

相关文章
相关标签/搜索