码迷,mamicode.com
首页 > 其他好文 > 详细

Jmeter(二十四)Jmeter-Question之“加密请求参数”

时间:2018-03-05 12:56:02      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:algo   for   类型   date   mes   sam   info   app   buffer   

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

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

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

  技术分享图片

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

  粘贴一个实例:

  技术分享图片

 

  技术分享图片

 

   技术分享图片

  加密之后的结果一致。

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

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

    先贴段MD5加密代码:

 1 package hehe.md5;
 2 
 3 import java.security.MessageDigest;
 4 import java.security.NoSuchAlgorithmException;
 5 
 6 public class Str2MD5 {
 7     //32    
 8     public String MD5(String sourceStr) {
 9         String result = "";
10         try {
11             MessageDigest md = MessageDigest.getInstance("MD5");
12             md.update(sourceStr.getBytes());
13             byte b[] = md.digest();
14             int i;
15             StringBuffer buf = new StringBuffer("");
16             for (int offset = 0; offset < b.length; offset++) {
17                 i = b[offset];
18                 if (i < 0)
19                     i += 256;
20                 if (i < 16)
21                     buf.append("0");
22                 buf.append(Integer.toHexString(i));
23             }
24             result = buf.toString();
25             System.out.println("MD5(" + sourceStr + ",32) = " + result);
26          //   System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
27         } catch (NoSuchAlgorithmException e) {
28             System.out.println(e);
29         }
30         return result;
31     }    
32 }

 

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

1 package hehe.md5;
2 import hehe.md5.Str2MD5;
3 
4 public class test {
5     public static void main(String[] args){
6         String res = new Str2MD5().MD5("dj123456");
7         System.out.println(res);
8     }
9 }

技术分享图片

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

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

技术分享图片

技术分享图片

技术分享图片

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

 

Jmeter(二十四)Jmeter-Question之“加密请求参数”

标签:algo   for   类型   date   mes   sam   info   app   buffer   

原文地址:https://www.cnblogs.com/richered/p/8508212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!