使用Jmeter轻松实现AES加密测试

news2024/9/20 6:19:02

大家在自己公司做接口测试的时候,有没有遇到过接口做加密处理的情况呢?相信我们的读者朋友们都有一定的概率会遇到这种情况,尤其是对接口数据安全有一定要求的公司接口数据一定会做加密处理。那么遇到加密情况,大家使用工具JMeter如何做接口测试呢?可以借助JMeter提供的函数digest和MD5,其中digest支持的加密方法是如下这7个:

MD

SHA

MD2

MD5

SHA-1

SHA-224

SHA-256

SHA-384

SHA-512

由此可见到目前为止,JMeter自带的支持的加密方法仅MD和SHA,如果很幸运你所供职公司用的就是这两种加密中的任意一种,那么我们就可以通过JMeter提供的加密方法进行加密处理。但是我们很多读者遇到的是使用其他的通用加密算法,一说到通用加密方法,不得不说AES加密,AES加密算法是英文单词Advanced Encryption Standard的首字母缩写,AES加密采用的是效率较高的对称加密算法,也就是说,其加密、解密使用相同的密钥。

图片

术语说明:

明文:没有经过加密处理的数据

密文:经过加密处理后的数据

如果大家公司业务对应的接口是走AES加密,我们通过接口测试工具JMeter做接口测试时,需要对请求数据做加密处理,并且对应答数据做解码处理,我们拿响应数据解密处理来看,具体怎么实现接口aes解密处理。

01
解密方法获取

首先我们要获取到aes解密方法,可以跟开发要,也可以网上找,毕竟aes是比较通用的加密算法。

如下所示,是某公司开发提供的aes解密方法:

图片

02
加密方法引入

接下来我们就需要将获取到的加密方法引入到JMeter中,有多种解决方案,咱们这里使用引入java源文件的方式,首先将java源文件拷贝到指定的盘符,例如:D盘。

然后在添加的beanshell后置处理器中增加如下脚本,来实现引入带加密方法的java源文件:

图片

03
调用解密方法

如下脚本所示:

第4行实现调用aes解密方法,入参有2个,分别是aes密文字符串、秘钥

第2行定义aes密文字符串

第3行表示获取应答报体,并赋值给aes密文字符串变量decodeStr

第4行在日志查看面板打印应答报体aes明文

图片

如下图所示,是经过aes解密后的应答报体内容:

图片

经过以上步骤一、二、三操作即可实现对aes密文的解密。

接口请求aes加密,需要获取aes加密方法,不同于解密操作步骤是步骤三,调用的是获取到的aes加密方法。

04
URL解码

有些公司开发还会对应答报体进行URL编码处理,这种情况下,我们做接口、性能测试时,需要对应答做断言判断,因而需要先进行URL解码,然后再进行aes解密操作,然后再对解密后的应答信息做断言处理。

如下所示在JMeter的BeanShell 后置处理程序中已编写的脚本中,增加第5行调用url解码方法对应答报体做url解码处理,当然JMeter自带的urldecode函数也能实现url解码处理,第1行实现的是引入java.net包下的URLDecoder类,提供给第5行url解码方法调用,其他脚本行的注释内容详见步骤三,这里就不再赘述了

图片

相应的开发对接口请求也会做对应的URL编码处理,我们测试的接口脚本就需要增加如下两行脚本。

图片

以上就是AES+URL接口的JMeter解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAD快速看图怎么转换成PDF格式?这一款软件就足够

CAD快速看图怎么转换成PDF格式?CAD文件是一种比较专业的文件,一般用于设计、绘图等,这种文件需要特殊的软件才可以打开,不过对于大多数人来说,都很少会安装这种软件,因为下载和安装软件需要很多时间&#x…

【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【2】:操作像素

像素是构成图像的基本单位。现在看图1所示的花卉图像,这幅图看着很细腻,不过将图像的白框区域放大,会看到如图2所示的效果,细腻的图像不见了,取而代之的是一个一个的小方块,每一个小方块就是一个像素。 图6 花卉 图7 放大的花卉局部

分库分表解决方案

前言 因为每个学校学生用餐人数太多,一天订单20万量增长,而且学校使用也在不停的增多,公司最近在搞分库分表,数据分离到不同的库中或表中, 所以这段时间了解过数据库的分库分表,也读过很多大神写的博文&…

elasticsearch 7.9.3知识归纳整理(五)之es的索引生命周期管理

es的索引生命周期管理 一、常见概念及命令 1.1、概念 ILM定义了四个生命周期阶段: Hot:正在积极地更新和查询索引。 Warm:不再更新索引,但仍在查询。 cold:不再更新索引,很少查询。信息仍然需要可搜索&…

【蓝桥杯基础题】2021年省赛填空题—卡片

👑专栏内容:蓝桥杯刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录一、题目背景二、题目描述三、题目分析1.检查思路2.思路优化四、代码汇总1.C语言代码2. C代码3.运行结果五、总结1.枚举思…

“强鹰”会议纪要发布,不会停止加息?风险资产恐将承压

美联储发布了去年12月的会议纪要,详细揭露了货币政策制定者对经济和加息路径的最新研判,继续展现偏鹰的论调和立场。 纪要显示,美联储官员致力于抗击通货膨胀,并预计在取得更多进展之前利率将继续上升,并维持“一段时间…

82.Zabbix之Linux服务器agent监控(不需要联网)

Zabbix版本:6.2.3 官网上下载对应的agent

C#中的多线程(一)

一、多线程的术语 在学习多线程之前需要先理解有关多线程的术语。 CPU(中央处理器)或内核/核心是实际执行程序的硬件单元。许多现代CPU都支持同时多线程(Intel称之为超线程),即使一个CPU能表现为多个「虚拟」CPU。进…

Linux安装xFormers教程

参考文章:手把手教你在linux中手动编译并安装xformers 作者:青空朝颜モ出处:bilibili 官方安装方法 官方仓库传送门:https://github.com/facebookresearch/xformers.git 官方给了两种方式安装xFormers,这里给出官方仓…

数字化转型之数字化和业务化论证

引言 数据业务化的本质是数据的产品化、商业化与价值化。主要强调产品化、新业务和专业化运作,也就是以数据为主要内容和生产原料,打造数据产品,按照产品定义、研发、定价、包装和推广的套路进行商业化运作,把数据产品打造成能为企业创收的新兴业务。 数字化是信息技术发…

NodeJs中使用Express开发web项目

文章目录1. web开发模式1.1 服务端渲染的Web开发模式1.2 前后端分离的Web开发模式1.3 如何选择web开发模式2. 身份认证2.1 Session认证机制2.1.1 cookie2.1.2 cookie认证2.1.3 在Express中使用Session认证2.1.4 Session认证的局限性2.2 JWT认证机制2.2.1 JWT组成部分2.2.2 在No…

mysql优化实战

空气质量小时索引顺序先站点后时间 索引情况 根据时间范围查询索引失效 EXPLAIN SELECT station_code, station_name, data_time, aqi, pm25, pm10, o3, no2, so2, co, primary_pollutant, create_date FROM wuhaiyizhangtu.t_air_pollution where data_time between 2022-1…

Node.js 中 session验证登录

在前一篇内容中讲到这个cookie实现验证登录,cookie是存储在客户端的,而session是存储在服务器的,相比较session的安全性会更高,session对象存储特定用户会话所需要的属性以及配置信息,服务通过session对象将用户的信息…

【力扣刷题】day3-4. 寻找两个正序数组的中位数

力扣刷题笔记day3 4. 寻找两个正序数组的中位数 题意 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 输入:nums1 [1,3], nums2 …

【通讯录管理系统】C++全栈体系(六)

通讯录管理系统 第一章 系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、…

人工智能算法模型--Alpha-Beta剪枝算法学习笔记

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

文章目录前言题目描述输入描述输出描述示例 1示例2题目解析参考代码前言 《华为机试真题详解 Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可…

逻辑漏洞渗透与攻防(五)之权限类逻辑漏洞

目录 权限类逻辑漏洞 平行权限跨越 基于用户身份ID 基于对象ID 基于文件名 垂直权限跨越 未经授权访问 权限类逻辑漏洞 越权漏洞又分为平行越权,垂直越权和交叉越权。 平行越权:权限类型不变,权限ID改变,垂直越权&#xff1…

SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集进行排序。 SQL ORDER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。 ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。 SQL ORDER BY 语法 SELECT c…

太适合小白了!11招,高手都在用的数据分析招式!

阅读本文大概需要3分钟菜鸟独白用Python来玩转数据分析实在是太爽了,因为有强大的Pandas来处理数据非常方便,我个人对数据分析情有独钟,探索数据的秘密非常好玩!前段时间写过一篇小白学数据分析入门招式,但是进阶的部分…