好久没写文章了,一直在忙公司项目的事情!今天抽空写篇关于jmeter加密的教程吧!

随着互联网的发展,越来越多的系统开始提供接口调用!

我们进行接口测试的时候,大多数接口或多或少的都使用了各种加密验证,保证接口的安全调用!所以如何使用jmeter来应对各种加密接口 是一项必要技能

接下来大虫会对市面上常用的加密算法 (Md5 sign 签名、des加密算法、aes加密算法、rsa加密算法 等等)进行一一解析!

aes   对称加密算法,通过解密密文,可以得到被加密的数据!

先上代码吧!

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public static String Encrypt(String sSrc, String sKey) throws Exception {
if (sKey == null) {
return null;
}
// 判断Key是否为16位
if (sKey.length() != 16) {
return null;
}
byte[] raw = sKey.getBytes("utf-8");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");// "算法/模式/补码方式"
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
return Base64.encodeBase64String(encrypted);// 此处使用BASE64做转码功能,同时能起到2次加密的作用。
} String cSrc = "{\"appId\":\"P201707280\",\"applyNo\":\"20170802101737582178\",\"idNo\":\"jmeter 高级技术群:572445436\",\"userName\":\"jmeter 高级技术群:572445436\",\"phone\":\"jmeter 高级技术群:572445436\",\"zhima\":700,\"applyTime\":\"2017-08-02 10:17:37\",\"amount\":9800}";
//密码,长度要是8的倍数
String cKey = "d4e9acc6a0ff505b";
// 需要加密的字串
System.out.println(cSrc);
// 加密
String enString = Encrypt(cSrc, cKey);
vars.put("enString",enString);
return enString;

本代码是运行在jmeter的 beanshell中的,你也可以封装成类,编译成jar包,供jmeter调用,都是可以的

以上代码再运用aes加密之后,又对结果进行了base64 编码,这样就便于查看和传输了,aes的直接加密结果是字节集,强行转换成字符串的话,肯定是一串乱码~!

jmeter接口测试-使用aes加密算法的更多相关文章

  1. Jmeter参数的AES加密使用

    在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况.以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时候,怎样发 ...

  2. AES加密算法C++实现

    我从网上下载了一套AES加密算法的C++实现,代码如下: (1)aes.h #ifndef SRC_UTILS_AES_H #define SRC_UTILS_AES_H class AES { pu ...

  3. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  4. jmeter接口测试教程

    一.Jmeter接口测试步骤: 1.添加线程组

  5. PHP android ios相互兼容的AES加密算法

    APP项目用户密码传输一直没有用HTTPS,考虑到用户的隐私暂时先用AES对密码加密,以后也可以用于手机端与服务端加密交互. PHP的免费版phpAES项目,手机端解码各种不对. 好不容易找了PHP ...

  6. Qt使用AES加密算法对字符串进行加密

          因工作需要,需要对字符串进行加密处理,在网上找了很长时间,终于找到了一个可以使用的aes加密算法.其源代码采用c++编写而成,但其头文件引用windows.h,经过修改部分代码,将#inc ...

  7. Android AES加密算法及事实上现

    昨天老大叫我看看android加密算法.于是网上找了找,找到了AES加密算法.(当然还有MD5,BASE64什么的http://snowolf.iteye.com/blog/379860这篇文章列举了 ...

  8. iOS,Android,.NET通用AES加密算法

    原文:iOS,Android,.NET通用AES加密算法 这两天为移动App开发API,结果实现加密验证时碰到一大坑.这里不得不吐槽下又臭又硬的iOS,Windows Server无法解密出正确的结果 ...

  9. Android AES加密算法,现在实际上

    昨天,老板让我来看看android加密算法.于是在网上找了找,发现AES加密算法.(当然,MD5,BASE64什么http://snowolf.iteye.com/blog/379860这篇文章列举了 ...

随机推荐

  1. python 实现快速排序(面试经常问到)

    # -*- coding: UTF-8 -*- # 递归实现, 把过程打印出来便于理解 def quick_sort1(lis, start, end): if start >= end: re ...

  2. 在Settings.db数据库中添加一项新的设置(Settings默认设置)

    Settiings的数据默认存放在com.android.providers.settings/database/settings.db中 数据库中的默认数据在frameworks/base/pack ...

  3. C++视频读取与视频保存

    VideoCapture cap("E:\\122.avi"); //计算视频帧数 int VedioFPS = cap.get(CV_CAP_PROP_FPS); //cout ...

  4. Nginx关联php安装及启动

    Nginx 1.10.2 php 5.6.30 [root@nginx local]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (C ...

  5. CSS之cursor用法

    cursor: url('~ROOT/shared/assets/image/vn-text-cursor-31-49.png') 22 22, nw-resize; 另外还有一个 cursor: g ...

  6. .net core下对于Excel的一些操作及使用

    原文:.net core下对于Excel的一些操作及使用 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.cs ...

  7. 解决https 请求过程中SSL问题

    最近一个项目中用到了https的请求,在实际调用过程中发现之前的http方法不支持https,调用一直报错. 查询了一下,添加几行代码解决问题. public string HttpPost(stri ...

  8. 【web】使用ionic搭建移动端项目 icon-radio 标签在ios下全部选中的问题

    这块css 导致的问题 .disable-pointer-events { pointer-events: none; }

  9. 最近公共祖先 LCA (Lowest Common Ancestors)-树上倍增

    树上倍增是求解关于LCA问题的两个在线算法中的一个,在线算法即不需要开始全部读入查询,你给他什么查询,他都能返回它们的LCA. 树上倍增用到一个关键的数组F[i][j],这个表示第i个结点的向上2^j ...

  10. stm32 usart 串口

    比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps).如每秒钟传送240个字符, 而每个字符格式包含10位(1个起始位.1个停止位.8个数据位),这时的比特率为: 10位 × 240个/秒 = ...