BeanShell调用自己写的jar包进行MD5加密

时间:2023-03-09 03:49:25
BeanShell调用自己写的jar包进行MD5加密

1.在eclipse中新建一个java工程,工程名随意。

2.在工程中添加一个package,package名为md5,在package下添加一个class,class名为mymd5。

BeanShell调用自己写的jar包进行MD5加密

package md5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class mymd5 { public static String getmd5(String plainText) {
try {
// 生成一个MD5加密计算摘要
MessageDigest md = MessageDigest.getInstance("MD5");
// 计算md5函数
md.update(plainText.getBytes());
// digest()最后确定返回md5 hash值,返回值为8位字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
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));
}
//32位加密,小写
return buf.toString();
//16位加密
//return buf.toString().substring(8,24);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}

3.将工程导出为一个jar文件,取名为mymd5.jar。

4.新建另一个工程,取名为md5test,引入mymd5.jar。测试一下jar包,确保jar包能被正常调用。

package md5test;

import md5.mymd5;

public class md5test {
public static void main(String[] args){
String tomd5 = mymd5.getmd5("password");
System.out.println(tomd5);
}
}

5.将mymd5.jar复制到apache-jmeter-3.1\lib\ext下面后重启Jmeter,或者在启动Jmeter后在测试计划中引入这个jar包。

6.Jmeter新建线程组,BeanShell Sampler,Debug Sampler,查看结果树。

BeanShell调用自己写的jar包进行MD5加密

import md5.mymd5;
String passAftermd5 = mymd5.getmd5("password");
vars.put("passAftermd5",passAftermd5);

7.运行结果如下图所示。

BeanShell调用自己写的jar包进行MD5加密

参考:肖佳《HTTP抓包实战》