Jmeter实现对字符串加密

最近测试移动端接口,但是请求内容是用MD5加密的,所以要先对请求内容进行加密,Jmeter内置的没有MD5加密方法,所以自己从网上copy了一份,实现了加密功能,以下是具体操作:
1、从网上copy了一份MD5加密方法,用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;  
            }  

        }   
}
eclipse截图:

Jmeter实现对字符串加密_第1张图片

2、导出jar包

Jmeter实现对字符串加密_第2张图片
Jmeter实现对字符串加密_第3张图片

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实现对字符串加密_第4张图片

添加监听器,查看结果树,运行测试,可以看到Jmeter控制台中输出了加密后的字符串

Jmeter实现对字符串加密_第5张图片

以上,已经实现了字符串的加密,如果想加密自定义变量,可如下:
在测试计划中添加用户自定义变量:

Jmeter实现对字符串加密_第6张图片

BeanShell Sampler中使用自定义变量users,加密后保存

Jmeter实现对字符串加密_第7张图片

添加一个http请求,测试加密保存的sign是否可用

Jmeter实现对字符串加密_第8张图片

运行,查看测试结果:

Jmeter实现对字符串加密_第9张图片

你可能感兴趣的:(性能测试实践,测试,加密,jmeter,BeanShell)