Jmeter实现MD5加密

时间:2022-03-16 22:46:11

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;
        }  

    }  

}

Jmeter实现MD5加密

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}来引用。