Jmeter3.0以后的版本不再内置MD5加密函数,只能自己写了。
1.编码
package com.liuke.test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class lkmd5 { /**liuke:821711401 * @param args */ 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包
用eclipse导出jar包lkmd5.jar,不再赘述。
3、将导出的lkmd5.jar放到Jmeter安装目录下的lib文件夹下
4、Jmeter中新建BeanShell Sampler:
import com.liuke.test.lkmd5; String m_name = lkmd5.getMd5(vars.get("name"));//md5加密后字符串 vars.put("token",m_name); //数据存到jmeter变量中 //System.out.println(token);
最后的说明:
vars.get("name"),从jmeter中获取变量name的值
m_name为md5加密后的字符串
vars.put("token",m_name),将加密后的字符串保存到jmeter变量token中
在jmeter中可通过${token}来引用。