• jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密


    前提:

    eclipse、JDK、Jmeter

    说明:

    本文分为两部分进行配置说明

    第一部分:编写JavaMD5加密脚本

    第二部分:使用Jmeter的BeanShell进行验证

    ****************************************************************************************

    第一部分:编写JavaMD5加密脚本:

    第一步:打开eclipse,创建一个MD5Test包,如下图:

    输入创建的包的名称,点击Finish

    完成后如下图:

    第二步:选择该包,邮件创建一个class类

    创建class的名称为MD5_Method,点击finish,如下图:

    完成后如下图所示:

    第三步:编写MD5方法,如下图:

    脚本如下:

    package MD5Test;
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5_Method {
        
        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;
        }
    }

    第四步:编写一个test脚本,测试MD5加密方法的正确性

    方法同创建MD5_Method方式一致,如下图:

    test中的脚本编写如下:

    package MD5Test;
    import MD5Test.MD5_Method;
    public class test {
        public static void main(String[] args){
            String res = new MD5_Method().MD5("wangyuhang@acktest");
            System.out.print(res);
            
        }
    
    }

    验证,点击界面上的Run菜单选项运行test.Java文件,如下图:

    第五步:将MD5Test导出为jar包

    选择MD5Test右键选择导出,如下图:

    选择Java下的Jar File 点击next,如下图:

    配置JARfile导出的路径及导出的名称点击finish,在D:Beanshellstudy路径下查看是否存在TestMD5.jar文件,如下图:

    第六步:将打包出来的TestMD5.jar文件放到Jmeter的libext目录下,如下图:

    第六步:启动Jmeter(注意每次更新ext下的文件时需要重启Jmeter才生效)

    **************************************************************************************

    第二部分:使用Jmeter的BeanShell进行验证

    第一步:启动Jmeter,并创建一个test的线程组,如下图:

    (右键测试计划—添加—Thread(Users)—线程组,如下图:)

    第二步:选择添加—配置元件—用户定义的变量,如下图:

    第三步:选择用户定义的变量添加passwd及相应的值,如下图:

    第四步:创建HTTP请求(添加—sampler—HTTP请求),如下图:

    服务器名称:www.baidu.com(以百度为例)

    路径:/login.php(随意)

    点击界面下的添加按钮,填写带的参数

    第五步:添加察看结果树(添加—监听器—察看结构树),如下图

    这里保持默认就好不需要配置

    第六步:在http请求下,添加BeanShell前置处理器,如下图:

    添加完成后选择添加的BeanShell Preprocessor,编写脚本,如下图所示:

    import MD5Test.MD5_Method;
    String input = vars.get("passwd");
    String output = new MD5_Method().MD5(input);
    vars.put("passwd",output);

    第七步:为了察看请求前和请求后passwd的值,在http请求的前后加上debug,如下图:

    配置默认就好

    第八步:运行Jmeter脚本

    请求passwd的值:

    请求后passwd的值,已经进行加密处理:

     

    HTTP请求中的passwd值,如下图:

    至此说明MD5加密成功。。。。OK

    参考文档:

    https://www.cnblogs.com/xinxin1994/p/6835257.html

  • 相关阅读:
    KindEditor粘贴word图片且图片文件自动上传功能
    umeditor粘贴word图片且图片文件自动上传功能
    百度Web编辑器粘贴word图片且图片文件自动上传功能
    PHP大文件上传支持断点上传解决方案
    PHP大文件上传支持断点上传教程
    matlab函数——shading函数
    Matlab griddata函数功能介绍
    戴尔 SE2416HM
    visio中如何旋转形状
    axios的封装与异常处理(async/await)
  • 原文地址:https://www.cnblogs.com/beginner-boy/p/7880612.html
Copyright © 2020-2023  润新知