Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密
【前言】
在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密。
【正文】
1.我们首先在Eclipse里面写好MD5的加密文件,用Eclipse执行一遍,确保程序调用不会报错。
Eclipse展示图:
Str2MD5.java 代码:
1 package com.md5; 2 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 public class Str2MD5 { 7 8 public String MD5(String sourceStr) { 9 String result = ""; 10 try { 11 MessageDigest md = MessageDigest.getInstance("MD5"); 12 md.update(sourceStr.getBytes()); 13 byte b[] = md.digest(); 14 int i; 15 StringBuffer buf = new StringBuffer(""); 16 for (int offset = 0; offset < b.length; offset++) { 17 i = b[offset]; 18 if (i < 0) 19 i += 256; 20 if (i < 16) 21 buf.append("0"); 22 buf.append(Integer.toHexString(i)); 23 } 24 result = buf.toString(); 25 System.out.println("MD5(" + sourceStr + ",32) = " + result); 26 // System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24)); 27 } catch (NoSuchAlgorithmException e) { 28 System.out.println(e); 29 } 30 return result; 31 } 32 }
2.写好这个类之后,再写一个test类调用一下这个方法:
Eclipse展示图:
Test.java代码如下:
1 package com.md5; 2 3 public class test { 4 5 public static void main(String[] args) { 6 String reString = new Str2MD5().MD5("suneee1234"); 7 System.out.println(reString); 8 } 9 }
3.将文件导出为jar包,并放到 Jmeter的lib/ext文件目录下
选择整个包,点击Export:
选择Java —> JAR file:
勾选导出内容,给导出的文件命名,点击Finish:
导出成功后,文件会生成在你这个Eclipse的工作空间中(在第一次打开Eclipse,会选择一个工作空间,用来存储文件)
找到你自己Jmeter目录下的lib\ext,将这个jar包复制粘贴进去:
4.在Jmeter里面调用这个jar包
BeanShell Sampler 代码如下:
1 import com.md5.Str2MD5; 2 String res = new Str2MD5().MD5("suneee1234"); 3 System.out.println(res); 4 props.put("md5",res.toString());
运行结果:
上面就是Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密全过程!
至于还有一种方法网上说是直接调用MD5函数,但是我实在没有找到,是不是我版本太高了?尴尬......