https://www.liangzl.com/get-article-detail-39672.html

https://www.cnblogs.com/artoftest/p/7277996.html

https://blog.csdn.net/Stephen_shijun/article/details/86599144

https://blog.csdn.net/russ44/article/details/56009084

https://blog.csdn.net/Nancycyy/article/details/51423868

流程:测试数据--加密--请求服务器--获取返回值--解密--提取token值--作为下个请求的参数

1.加解密jar包
代码:

加解密代码
2.BeanShell 使用
(1)请求数据data加密,BeanShell PreProcessor

import AES.AESUTil; //调用加解密的jar包
String data1 ="{\"data\":\"111\",\"userName\":\"${userName}\"}";//输入请求,userName可以获取
String data=AESUTil.AEept(data1); //调用加密算法,加密data1,得到加密串data值
vars.put("data",data); //输出加密data值
${userName}可以是从CSV Data Set Config 取值

(2)http请求发送

(3)返回数据解密,及提取token值,BeanShell PostProcessor

import AES.AESUTil;//调用加解密的jar包
import org.json.JSONObject;//调用json的jar包

String response = prev.getResponseDataAsString();//得到返回数据存在response
String Pcontent=AESUTil.BEept(response); //解密返回数据response,保存在Pcontent
//vars.put("Pcontent",Pcontent);//输出解密返回的数据
JSONObject data_obj = new JSONObject(Pcontent);//新建json串,将string类型的Pcontent转换值保存
String errorCode1 = data_obj.get("errorCode");//截取json串data_obj返回值中的errorCode
String code ="0000";//设定固定的返回值code
if (errorCode1.equals(code)){//当返回值errorCode与设定code值相等时,执行下面的内容
vars.put("userNo",data_obj.get("result").get("userNo").toString());
//截取json串errorCode中的返回值中result下的userNo
vars.put("Token",data_obj.get("result").get("accessToken").toString());
//vars.put("errorCode1",errorCode1);
}
else
vars.put("errorCode1",errorCod1);//返回值errorCode1不为0000,打印返回值errorCode1

(3)BeanShell断言

import AES.AESUTil;
import org.json.JSONObject;
prev.setDataEncoding("utf-8");//解决中文乱码问题
String response = prev.getResponseDataAsString();
String Pcontent=AESUTil.BEept(response);

JSONObject data_obj = new JSONObject(Pcontent);
String error1 = data_obj.get("errorCode");
String code ="0000";
//当结果error1与设定值不符时,在断言打印出来失败的error值
if (!error1.equals(code)){
Failure = true;
FailureMessage = Pcontent;
}
(4)Debug Sampler的使用

默认的设置即可,上面的vars.put()值都能显示在里面,调试的时候可以用

3.调用jar包的问题
二种方法

(1)直接放到jmeter/lib 的目录下

(2)在jmeter.jmx的测试计划下引用

---------------------
作者:qie134
来源:CSDN
原文:https://blog.csdn.net/qie134/article/details/83306222
版权声明:本文为博主原创文章,转载请附上博文链接!

jmeter处理接口加密和解密的更多相关文章

  1. jmeter 请求发送加密参数(加密接口测试一)

    最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256.所以,jmeter发送请求前也需要对uid及json参数进行加密.我这里是让开发 ...

  2. jmeter 请求发送加密参数

    最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256.所以,jmeter发送请求前也需要对uid及json参数进行加密.我这里是让开发 ...

  3. Java_DES 加密和解密源码

    Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互作用性. 算法的独立性是通过定义密码服务类来获得.用户只需了解密码算法的概念,而不用去关心如何实现这些概念. ...

  4. PHP 加密 和 解密 方法

    关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦. 研究了一下这个算法,总的来说可以归纳为以下三点 ...

  5. mvc url路由参数的加密和解密

    查看某个信息的时候一般会在url上加上该信息在数据库中对应的主键id(而且一般是自增的) url是这样子的 xxxDetail/1 , 虽然对于我们开发人员来说可以这种显式的数据库主键会方便调试过程, ...

  6. 浅谈.NET中加密和解密的实现方法分享

    这篇文章介绍了.NET中加密和解密的实现方法,有需要的朋友可以参考一下 .NET将原来独立的API和SDK合并到一个框架中,这对于程序开发人员非常有利.它将CryptoAPI改编进.NET的Syste ...

  7. Flash型单片机的加密与解密

    厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性.考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的.    早期的单片机,代码是交给芯片制造商制成掩膜ROM.有两种加密 ...

  8. php接口数据加密、解密、验证签名代码实例

    php接口数据加密.解密.验证签名 代码非常easy,这里就不多废话了,直接奉上代码 <?php /** * 数据加密.解密.验证签名 * @edit http://www.lai18.com ...

  9. Java DES 加密和解密源码(转)

    原文地址:http://www.oschina.net/code/snippet_727646_18383 Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互 ...

随机推荐

  1. AspNetCore使用MySQL

    既然NetCore开源,那么也使用开源的MySQL的数据库呢?当然NetCore不止单单配MSSQL数据库而已.今天我来讲解NetCore怎么使用MySQL进行开发. 首先新建一个NetCore项目 ...

  2. ln创建软链接方式

    ln -s 目标文件 软链接

  3. Express 中配置使用 art-template模板引擎

    art-template 官网 https://aui.github.io/art-template/ 安装: npm install --save art-template npm install ...

  4. ltp-ddt eth_parallel_processing

    ETH_S_FUNC_PARALLEL_PROCESSING: source 'common.sh'; prepare_nfs_mount.sh "/mnt/nfs_mount"| ...

  5. bzoj4408 [Fjoi 2016]神秘数 & bzoj4299 Codechef FRBSUM 主席树+二分+贪心

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4299 https://lydsy.com/JudgeOnline/problem.php?id ...

  6. bzoj4399 魔法少女LJJ 线段树合并+线段树二分+并查集

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4399 题解 毒瘤题 \(9\) 种操作还有支持动态图的连通性 仔细读题 $ c<=7$. ...

  7. git log的个性化设置

    --date=(relative|local|default|iso|rfc|short|raw) Only takes effect for dates shown in human-readabl ...

  8. linux运维、架构之路-MySQL主从复制

    一.MySQL主从复制原理图  MySQL主从复制原理:实现主从复制原理是三个线程完成的,主的I/O线程,备的I/O线程与SQL线程 1.首先主库db01需要开启binlog.授权一个replicat ...

  9. SPFA的两个优化

    评测题:洛谷[模板]单源最短路径 不加任何优化: queue<int>q; void spfa(ll s) { ;i<=n;i++) d[i]=(ll)(); d[s]=;q.pus ...

  10. P2627 修剪草坪 (单调队列优化$dp$)

    题目链接 Solution 70分很简单的DP,复杂度 O(NK). 方程如下: \[f[i][1]=max(f[j][0]+sum[i]-sum[j])\]\[f[i][0]=max(f[i-1][ ...