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

时间:2022-02-21 08:17:31

【前言】

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

【正文】

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

Eclipse展示图:

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

Str2MD5.java 代码:

 package com.md5;

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

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

Eclipse展示图:

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

Test.java代码如下:

 package com.md5;

 public class test {

     public static void main(String[] args) {
String reString = new Str2MD5().MD5("suneee1234");
System.out.println(reString);
}
}

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

选择整个包,点击Export:

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

选择Java —> JAR file:

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

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

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

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

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

找到你自己Jmeter目录下的lib\ext,将这个jar包复制粘贴进去:

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

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

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

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

BeanShell Sampler 代码如下:

 import com.md5.Str2MD5;
String res = new Str2MD5().MD5("suneee1234");
System.out.println(res);
props.put("md5",res.toString());

运行结果:

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

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

至于还有一种方法网上说是直接调用MD5函数,但是我实在没有找到,是不是我版本太高了?尴尬......

Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密的更多相关文章

  1. BeanShell调用自己写的jar包进行MD5加密

    1.在eclipse中新建一个java工程,工程名随意. 2.在工程中添加一个package,package名为md5,在package下添加一个class,class名为mymd5. package ...

  2. jmeter使用BeanShell Sampler测试自己写的java接口(一)

    上次直接使用jmeter里面的FTPsampler没有连接成功 现在想着自己写java代码,通过jmeter进行调用进行连接测试实现并发 代码引文: http://www.cnblogs.com/ch ...

  3. C&num;调用java类、jar包方法(转)

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  4. C&num;调用java类、jar包方法

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  5. 在C&num;中调用Java生成的jar包文件的方法

    C#工程调用Java已生成的jar包步骤如下: 一.使用IKVM.NET组件 首先到IKVM官网(http://www.ikvm.net)下载组件,下载地址:https://sourceforge.n ...

  6. 【转】C&num;调用java类、jar包方法

    原文地址:http://blog.csdn.net/black0707/article/details/5769366 一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录 ...

  7. &period;NET调用Java写的WebService

    最近遇到一个用.net调用java写的webservice的应用,对方程序员提供了一个后缀为wsdl的文件,这个跟.Net里面生成的wsdl文件差不多,起初没什么概念就查了点资料,知道可以将这个wsd ...

  8. delphi7调用java写的webservice,在调用的时候弹出&OpenCurlyDoubleQuote;wssecurityhandler&colon;request does not contain required security header”

    delphi7调用java编写的webservice问题我用delphi7调用java写的webservice,在调用的时候弹出“wssecurityhandler:request does not ...

  9. 解析android framework下利用app&lowbar;process来调用java写的命令及示例

    解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...

随机推荐

  1. Http、Https请求工具类

    最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...

  2. expdp ORA-31693 ORA-31617 ORA-19505 ORA-27037

    使用expdp并行导出数据的时候报如下错误: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64b ...

  3. atitit&period; hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect

    atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect   #-----原理 Hibernate 运行期获得Dialect   2010-07-28 12:59 ...

  4. 清空easyui datagrid

    $('#grid').datagrid("loadData",{total:0,rows:[]});

  5. no datanode to stop

    昨晚整了半天,遇上的问题是通过start-all.sh无法启动datanode,然后关闭时就会报no datanode to stop ,引起这个的原因是因为我多次格式化,导致namespaceID不 ...

  6. redis 一般性使用概述

    最近一段时间与redis接触比较频繁.发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下.本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量.也可以 ...

  7. Fragment已经被added了导致的异常。

    java.lang.IllegalStateException: Fragment already added:  ******Effect 出现的原因是commit方法提交是异步的,所以容易出现,判 ...

  8. Windows nessus安装

    1.官网下载nessus,下载速度很慢,要有耐心 2.安装,安装完成后访问https://localhost:8834,最好使用chrome浏览器 3.页面注册,更新plugins等 4.如果页面无法 ...

  9. 纯小白创建第一个Node程序失败-容易忽略的一个细节

    一直觉得自己基础还很差,所以自觉不敢去碰node.js,但又对其心怀好奇.恰巧最近有一点空闲时间,忍不住去试了一下水   这不,在创建第一个node程序时就吃了闭门羹,总是提示我没有定义,如下图, 这 ...

  10. &lpar;PMP&rpar;第12章-----项目采购管理

    B D 12.1 规划采购管理 输入 工具与技术 输出 1.项目章程 2.商业文件 (商业文件, 效益管理计划) 3.项目管理计划 (范围,质量,资源管理计划, 范围基准) 4.项目文件 (里程碑清单 ...