前提:

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 = ; offset < b.length; offset++) {
i = b[offset];
if (i < )
i += ;
if (i < )
buf.append("");
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的\lib\ext目录下,如下图:

第六步:启动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

jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密的更多相关文章

  1. jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战

    背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...

  2. jmeter 调用jar包 本地加密

    1.因为加密接口是有我们自己加密方式,所有加密包由开发提供,获得加密包后方式jmeter目录/lib/ext文件夹中 2.选择引入加密包 3.添加BeanShell Sampler和Debug Sam ...

  3. Unity调用Android的两个方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  4. Loadrunner11.0调用Jar包

    又好几天不写东西了,是不是意味着最近没有大的进步,时时敲打自己. 今天把loadrunner如何调用Jar包搞定了,现在把配置的过程中需要注意的东西写下来,分享给小伙伴儿,减少他们在前行路上的弯路. ...

  5. html实现调用jar包

    整体思路:html引用URL protocol-本地注册表key,key对应某一c#写的exe可执行文件,由exe可执行文件调用cmd,cmd执行jar包. 1.添加注册表: Windows Regi ...

  6. Jmeter 如何引入外部jar 包

    最近使用Jmeter 测试需要引入Jar包,之前也遇到过,用过两种方式,各有利弊,今天又接触了一种方式,挺好,在此做一总结. 方法一:测试计划 通过 Add directory or jar to c ...

  7. winform调用jar包

    因为工作需要,需要做一个数据上传的程序,客户规定的是:数据接口采用http连接,采用JSON-RPC轻量级远程调用协议.所以决定用winform做一个管理界面(其中还包括其他的功能),java完成数据 ...

  8. (转载)Python 的 JPype 模块调用 Jar 包

    Python 的 JPype 模块调用 Jar 包 背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接 ...

  9. Python调用jar包中的方法

    [本文出自天外归云的博客园] 需求 最近在后台项目代码中一段自定义的AES加解密的程序在平时的测试工作中应用频繁.因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意.最后转换思路 ...

随机推荐

  1. 修改类不用重启Tomcat加载整个项目

    可以修改类不用重启Tomcat加载整个项目(手工启动) 配置reloadable=true(自动重载) 使用Debug模式,前提是仅限于局部修改.(修改类不用重启--热加载) Tomcat轻小,而We ...

  2. [shell]shell中if语句的使用

    转自:http://lovelace.blog.51cto.com/1028430/1211353 bash中如何实现条件判断?条件测试类型:    整数测试    字符测试    文件测试 一.条件 ...

  3. mybatis待研究

    1. mapper 中_parameter 的含义,是 参数? 为什么?

  4. 数据库-mysql视图

    视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用 一:创建视图 create view view ...

  5. Win10搜索不能用

    使用win10进行搜索时,一直显示win10特色的滚动条,但就是检索不出东西,我的主要是检索不到windows的内容: (个人感觉使用win10检索网页内容不太专业,就关闭了Web搜索) 最后有发现网 ...

  6. python面向对象(四)之抽象类与接口

    ​ 学过java的应该知道java有抽象类和接口的那么python呢?(以前写的关于java抽象类的笔记java抽象类与接口) python作为一个动态语言,没有强类型的检查,而是以鸭子类型的方式提现 ...

  7. P1183 多边形的面积

    一道睡论数论题 其实是AC300祭才做的水题 题意: 很直白的的题意啊,就是求任意一个多边形的面积 所以我们来安利一下一个求多边形面积的数学通式: 给定多边形的顶点坐标(有序),让你来求这个多边形的面 ...

  8. <未来世界的幸存者> 读后感(现实篇和职业篇)【原创】

    摘要: 前几天有幸看到阮老师的 <未来世界的幸存者)>,花了几晚的时间阅读完毕,内心受到了很大的触动,现在将感觉不错的地方记录下. 职业篇 1. 为什么雇佣制度对工人不利? 雇佣制度是一种 ...

  9. hadoop学习之Linux使用

    Hadoop学习前准备工作 1.安装虚拟机(常用虚拟机:VirtualBox.VMWare)2.安装Linux操作系统(可以直接将打包好的Linux操作系统的镜像文件拿来用,鼠标右键打开,打开方式选择 ...

  10. 7-1 FireTruck 消防车 uva208

    题意: 输入一个n <=20 个结点的无向图以及某个结点k   按照字典序从小到大顺序输出从结点1到结点k的所有路径  要求结点不能重复经过 标准回溯法 要实现从小到大字典序 现在数组中排序好即 ...