zoukankan      html  css  js  c++  java
  • 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加密全过程!

    生成时间戳

  • 相关阅读:
    从string类的实现看C++类的四大函数 [写的很好]
    毕业5年决定你的命运
    git push 原因以及问题!
    poj 1195 Mobile phones 夜
    poj 2886 Who Gets the Most Candies 夜
    poj Asimple Problem With Integers 夜
    poj 2750 Potted Flower 夜
    poj 2528 Mayor's posters 夜
    poj 2777 Count Color 夜
    poj 2482 Stars in Your Window 夜
  • 原文地址:https://www.cnblogs.com/lgqboke/p/10833204.html
Copyright © 2011-2022 走看看