1.在eclipse中新建一个java工程,工程名随意。
2.在工程中添加一个package,package名为md5,在package下添加一个class,class名为mymd5。
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.1libext下面后重启Jmeter,或者在启动Jmeter后在测试计划中引入这个jar包。
6.Jmeter新建线程组,BeanShell Sampler,Debug Sampler,查看结果树。
import md5.mymd5; String passAftermd5 = mymd5.getmd5("password"); vars.put("passAftermd5",passAftermd5);
7.运行结果如下图所示。
参考:肖佳《HTTP抓包实战》