日常接口测试碰到参数加密的情况不在少数,当然与之相对的也有解密。直接记录实例:

  排除各家用的不一样的加密方式,用的最多的还是MD5加密(16,32)。Jmeter3.2版本已经有解决方案

  1、${__MD5(,)}函数(默认32位),当然也有其他类型的加密函数:base64

  

  用法很简单,与一般函数使用一般无二。

  粘贴一个实例:

  

  

  

  加密之后的结果一致。

  2、第一种方法只是Jmeter自带功能以满足需求,当然,也有满足不了的时候,因此第二种方法就显得相对灵活一些,还是MD5(32)加密。

    解决思路:使用Beanshell Sampler进行实例化外部jar包;

    先贴段MD5加密代码:

 package hehe.md5;

 import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class Str2MD5 {
//32
public String MD5(String sourceStr) {
String result = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(sourceStr.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));
}
result = buf.toString();
System.out.println("MD5(" + sourceStr + ",32) = " + result);
// System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
}
}

  当然,可以在外部写个类进行测试该段代码是否能够加密成功。

 package hehe.md5;
import hehe.md5.Str2MD5; public class test {
public static void main(String[] args){
String res = new Str2MD5().MD5("dj123456");
System.out.println(res);
}
}

测试结果也是与上方一致的。

将该段代码打成jar包,放入Apache Jmeter\lib\ext\目录下使用Beanshell Sampler进行外部实例化:

加密之后的结果与上方一致。

最新文章

  1. [Java面经] 关于面试的二三事.
  2. 禁止chrome记住密码
  3. 11月14日用AJAX、PHP、SESSION做购物车
  4. Spark Streaming源码解读之数据清理内幕彻底解密
  5. PhoneGap中navigator.notification.confirm的用法详解
  6. Codeforces Round #365 (Div. 2) D 树状数组+离线处理
  7. libevent系列文章
  8. 《Python 学习手册4th》 第十七章 作用域
  9. for循环,列表和格式化输出
  10. 保存BASE64编码图片
  11. pymongo一次更新多条数据
  12. java 并发工具类CountDownLatch &amp; CyclicBarrier
  13. luogu P5300 [GXOI/GZOI2019]与或和
  14. vue 路由(1)
  15. PetaPoco在ASP.NET Core 2.2中使用注入方式访问数据库
  16. jenkins--java配置
  17. Expm 9_3 无向图的双连通分量问题
  18. Spring注解开发之Spring常用注解
  19. [mysql]Date和String相互转换(DATE_FORMAT&amp;STR_TO_DATE)
  20. 原生JS获取元素的位置与尺寸

热门文章

  1. Go Example--Hello
  2. Centos7使用yum安装程序软件时提示未找到安装包解决方法
  3. HBase Filter
  4. BeEF介绍
  5. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】
  6. redmine和jenkins的ldap登录设置
  7. taro 知识点
  8. 在CentOS6.8系统上安装MySQL5.7(转)
  9. bzoj 2739 最远点——分治处理决策单调性
  10. Linux 下Tomcat单机多应用