51Testing软件测试论坛

标题: jmeter添加外部MD5加密jar包 [打印本页]

作者: 测试积点老人    时间: 2018-12-4 15:44
标题: jmeter添加外部MD5加密jar包
公司最新项目要求对接口参数进行md5加密,大概思路:现将输入参数先进行ASCLL再进行MD5加密
一、使用eclipse编写MD5加密方法(附上本人代码)
  1. package com.md5;
  2.   import java.io.UnsupportedEncodingException;
  3.   import java.math.BigInteger;
  4.   import java.security.MessageDigest;
  5.   import java.security.NoSuchAlgorithmException;
  6.   import java.util.Arrays;
  7.   public class TestMd5 {
  8.   public static String md5(String[] value) {
  9.   StringBuilder result = new StringBuilder();
  10.   String re_md5 = new String();
  11.   String sign;
  12.   String arr;
  13.   String signKey = "68c163f20f994e82a09c41cbe71ea5ac";
  14.   long nonce_str=System.currentTimeMillis();
  15.   sign=nonce_str+signKey;
  16.   if (value.length==0) {
  17.   //String re_md5 = new String();
  18.   try {
  19.   MessageDigest md = MessageDigest.getInstance("MD5");
  20.   md.update(sign.getBytes());
  21.   byte b[] = md.digest();
  22.   int i;
  23.   StringBuffer buf = new StringBuffer("");
  24.   for (int offset = 0; offset < b.length; offset++) {
  25.   i = b[offset];
  26.   if (i < 0)
  27.   i += 256;
  28.   if (i < 16)
  29.   buf.append("0");
  30.   buf.append(Integer.toHexString(i));
  31.   }
  32.   re_md5 = buf.toString();
  33.   } catch (NoSuchAlgorithmException e) {
  34.   e.printStackTrace();
  35.   }
  36.   // return re_md5.toUpperCase();
  37.   }else {
  38.   Arrays.sort(value);
  39.   for(int i=0;i<value.length;i++){
  40.   result.append(value[i]);
  41.   }
  42.   String str = result.toString();
  43.   arr=str+nonce_str+signKey;
  44.   //return result.toString();
  45.   //return arr;
  46.   try {
  47.   MessageDigest md = MessageDigest.getInstance("MD5");
  48.   md.update(arr.getBytes());
  49.   byte b[] = md.digest();
  50.   int i;
  51.   StringBuffer buf = new StringBuffer("");
  52.   for (int offset = 0; offset < b.length; offset++) {
  53.   i = b[offset];
  54.   if (i < 0)
  55.   i += 256;
  56.   if (i < 16)
  57.   buf.append("0");
  58.   buf.append(Integer.toHexString(i));
  59.   }
  60.   re_md5 = buf.toString();
  61.   } catch (NoSuchAlgorithmException e) {
  62.   e.printStackTrace();
  63.   }
  64.   // return re_md5.toUpperCase();
  65.   }
  66.   return re_md5.toUpperCase();
  67.   }
  68.   }
复制代码
二、导出jar包

[attach]119796[/attach]

[attach]119797[/attach]

三、将jar包添加到jmeter的lib/ext目录下面

[attach]119798[/attach]

四、新建jmeter的BeanShell Sampler进行调用

[attach]119799[/attach]

[attach]119800[/attach]

[attach]119801[/attach]


作者: Miss_love    时间: 2020-12-29 09:14
支持分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2