• Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密


    参考https://www.cnblogs.com/baoziluo/p/8036820.html

    【前言】

    在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密。

    【正文】

    1.我们首先在Eclipse里面写好MD5的加密文件,用Eclipse执行一遍,确保程序调用不会报错。

    注意:类和方法命名时不要和jmeter自带的函数助手的一样

    Eclipse展示图

     

    myMd5.java 代码:

    package myMd5;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    public class myMd5 {

      Logger log = Logger.getLogger(this.getClass().getName());
      public String MyMd5(String sourceStr) {
        String result = "";
        // Long timeStamp = System.currentTimeMillis();
        String appkey = "key";
        String key = "key";
        String Strsource =appkey + sourceStr + key;
        System.out.println(Strsource);
        log.log(Level.INFO, Strsource);
        try {
          MessageDigest md = MessageDigest.getInstance("MD5");
          md.update(Strsource.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(" +Strsource + ",32) = " + result);
        // System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
        } catch (NoSuchAlgorithmException e) {
        System.out.println(e);
      }
        return result;
      }
    }

    2.写好这个类之后,再写一个test类调用一下这个方法:

    Eclipse展示图:

    Test.java代码如下:

    package myMd5;

    import myMd5.myMd5;

    public class test {

      public static void main(String[] args) {
        String reString = new myMd5().MyMd5("1557126194208");
        System.out.println(reString);
      }
    }

     

    3.将文件导出为jar包,并放到 Jmeter的lib/ext文件目录下

    选择整个包,点击Export,然后选择Java —> JAR file:

    勾选导出内容,给导出的文件命名,点击Finish:

    导出成功后,文件会生成在你这个Eclipse的工作空间中(在第一次打开Eclipse,会选择一个工作空间,用来存储文件)

    找到你自己Jmeter目录下的libext,将这个jar包复制粘贴进

     

    4.在Jmeter里面调用这个jar包

    5.在Jmeter里面调用这个jar包

     

    BeanShell Sampler 代码如下:

    import myMd5.myMd5;
    String sign = new myMd5().MyMd5("${date}");
    System.out.println(sign);
    vars.put("sign",sign);

    运行结果:

    上面就是Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密全过程!

    生成时间戳

  • 相关阅读:
    mysql修改数据表名
    HDU 5742 It's All In The Mind (贪心)
    HDU 5752 Sqrt Bo (数论)
    HDU 5753 Permutation Bo (推导 or 打表找规律)
    HDU 5762 Teacher Bo (暴力)
    HDU 5754 Life Winner Bo (博弈)
    CodeForces 455C Civilization (并查集+树的直径)
    CodeForces 455B A Lot of Games (博弈论)
    CodeForces 455A Boredom (DP)
    HDU 4861 Couple doubi (数论 or 打表找规律)
  • 原文地址:https://www.cnblogs.com/lgqboke/p/10833204.html
Copyright © 2020-2023  润新知