Jmeter_beanshell 实现字符串加密
Jmeter 内置的没有 MD5 加密方法,所以需要写一些 java 代码实现加密功能,以下是具体操作:
1:用 eclipse 建个工程(包名、类名、方法名自己起)
package com.wjika.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class mymd5
{ public static String getMd5(String plainText) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
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;
}
}
}
2:导出 jar 包
3::将导出的 jar 放到 Jmeter 安装目录下的 lib 文件夹下 4、Jmeter 新建测试计划,添加线程组,新建 BeanShell Sampler,并写入以下测试内容
import com.wjika.test.mymd5; String pass = mymd5.getMd5(vars.get("users")); System.out.println(pass);
添加监听器,查看结果树,运行测试,可以看到 Jmeter 控制台中输出了加密后的字符串
测试开发交流群:317765580