Jmeter实现对字符串加密

转自 http://blog.csdn.net/yuanwq2012/article/details/51252649

最近测试移动端接口,但是请求内容是用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;  
            }  

        }   
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
eclipse截图:

eclipse中截图

2、导出jar包

导出jar 
导出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);
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

这里写图片描述

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

运行结果

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

用户自定义变量

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

加密保存

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

请求测试

运行,查看测试结果:

验证


猜你喜欢

转载自blog.csdn.net/haoluojie/article/details/56665863