zoukankan      html  css  js  c++  java
  • Jmeter(二十四)Jmeter-Question之“加密请求参数”

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

      排除各家用的不一样的加密方式,用的最多的还是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 Jmeterlibext目录下使用Beanshell Sampler进行外部实例化:

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

  • 相关阅读:
    UVALive 7509 Dome and Steles
    HDU 5884 Sort
    Gym 101194H Great Cells
    HDU 5451 Best Solver
    HDU 5883 The Best Path
    HDU 5875 Function
    卡特兰数
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    Spark Scala Flink版本对应关系
  • 原文地址:https://www.cnblogs.com/richered/p/8508212.html
Copyright © 2011-2022 走看看