Jmeter实现对字符串加密

来源:互联网 发布:算法导论 pdf 编辑:程序博客网 时间:2024/05/22 07:03

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

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

这里写图片描述

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

运行结果

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

用户自定义变量

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

加密保存

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

请求测试

运行,查看测试结果:

验证

1 0