前提:
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
参考文档: