jmeter中参数加密

加密接口常用的方式有:
MD5,SHA,HmacSHA
RSA
AES,DES,Base64

压测中有些参数需要进行加密,加密方式已接口文档为主。

MD5加密

比如MD5加密的接口文档:
请求URL:http://101.34.221.219:5000
请求方式:POST
请求参数:

参数名称参数值是否必须类型备注
usernameadminstring必须MD5加密处理
password123string必须MD5加密处理

1、用户名、密码不进行加密登录测试
在这里插入图片描述
在这里插入图片描述
用户名密码未进行MD5加密,登录失败。

2、用户名、密码进行加密登录测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用户名密码加密,登录成功。

beanshell组件代码加密

目前jmeter的__digest函数支持的加密方式较少,jmeter用户手册
在这里插入图片描述
其他加密算法要在beanshell组件中编写
比如接口以AES方式加密,规则如下:

生成访问签名

参数名说明示例值备注
clientId签名ID0ca6eaf66cbf4f2bb1db6902c9c8d915
clientSecret签名秘钥8c0a5f3388154e2c959f2bd44fc2dd66
timestamp时间戳1706859156428当前时间戳
uuid唯一ID12345678唯一值,一个签名只能使用一次

1.1 访问签名生成逻辑

3.1.1、签名值= 签名ID+“:”+签名秘钥+“:”+时间戳+“:”+唯一ID

3.1.2、 生成算法:AES ,签名参数:ECB PKCS7 128bits

3.1.3、 AES算法秘钥(aesKey):#iSn##s$olu.@@sm

3.1.4、 access_sign生成规则:用AES算法对签名值进行加密

1.2 beanshell脚本编写

// Import the Base64 class
import org.apache.commons.codec.binary.Base64;// 参数
var clientId = "0ca6eaf66cbf4f2bb1db6902c9c8d915";
var clientSecret = "8c0a5f3388154e2c959f2bd44fc2dd66";
var timestamp = new Date().getTime();
var uuid = new java.util.Random().nextInt(90000000) + 10000000;// 计算签名值
var signValue = clientId + ":" + clientSecret + ":" + timestamp + ":" + uuid;// 加密签名值
var aesKey = "#iSn##s$olu.@@sm";
var cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, new javax.crypto.spec.SecretKeySpec(aesKey.getBytes(), "AES"));
var encryptedSign = cipher.doFinal(signValue.getBytes());// 生成访问签名 (使用 Commons Codec)
var accessSign = new String(Base64.encodeBase64(encryptedSign));// 将访问签名存储到变量中
vars.put("access_sign", accessSign);// 打印访问签名
System.out.println("access_sign: " + accessSign);

参数替换即可
在这里插入图片描述

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

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

相关文章

面试算法-105-相交链表

题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回…

各大pdf转word软件都用的哪家的ocr引擎?

国内一般的PDF软件一般都调用某国际PDF原厂的OCR接口,但这家公司是主要做PDF,在OCR方面并不专注,一些不是很复杂的场景还能应付得过来,复杂一点的效果就强差人意了,推荐用金鸣表格文字识别系统,它主要有以下…

抖音视频关键词无水印下载软件|手机网页视频批量提取工具

全新视频关键词无水印下载软件,助您快速获取所需视频! 随着时代的发展,视频内容已成为人们获取信息和娱乐的重要途径。为了方便用户获取所需视频,推出了一款功能强大的视频关键词无水印下载软件。该软件主要功能包括关键词批量提取…

yolov8直接调用zed相机实现三维测距(python)

yolov8直接调用zed相机实现三维测距(python) 1. 相关配置2. 相关代码3. 实验结果 相关链接 此项目直接调用zed相机实现三维测距,无需标定,相关内容如下: 1.yolov5直接调用zed相机实现三维测距(python&#…

ISAC代码仿真学习笔记

文章目录 A. MIMO Communication ModelB. MIMO Radar Model III. Joint Waveform and Phase Shift Matrix Design for Given Radar BeampatternA. Problem FormulationB. Proposed Algorithm V. S IMULATION RESULTS A. MIMO Communication Model 用户处的接收信号矩阵由 Y …

Spring Boot 实现定时任务动态管理

前言 本文主要介绍了SpringBoot架构下动态定时任务的使用,定时任务表达式配置在数据库中,通过反射执行到目标方法。 Quartz Quartz 是一个开源的作业调度框架,支持分布式定时任务,Quartz定时任务据我了解可分为Trigger(触发器&…

小迪安全47WEB 攻防-通用漏洞Java 反序列化EXP 生成数据提取组件安全

#知识点: 1、Java 反序列化演示-原生 API 接口 2、Java 反序列化漏洞利用-Ysoserial 使用 3、Java 反序列化漏洞发现利用点-函数&数据 4、Java 反序列化考点-真实&CTF 赛题-审计分析 #内容点: 1、明白-Java 反序列化原理 2、判断-J…

javaWeb在线考试系统

一、简介 在线考试系统是现代教育中一项重要的辅助教学工具,它为学生提供了便捷的考试方式,同时也为教师提供了高效的考试管理方式。我设计了一个基于JavaWeb的在线考试系统,该系统包括三个角色:管理员、老师和学生。管理员拥有菜…

Knative 助力 XTransfer 加速应用云原生 Serverless 化

作者:元毅 公司介绍 XTransfer 是一站式外贸企业跨境金融和风控服务公司,致力于帮助中小微企业大幅降低全球展业的门槛和成本,提升全球竞争力。公司连续7年专注 B2B 外贸金融服务,已成为中国 B2B 外贸金融第一平台,目…

荟萃分析R Meta-Analyses 2----发现R

2.1安装R和R Studio 在开始之前,我们必须下载并准备一个计算机程序,该程序使我们能够方便地使用R进行统计分析。目前最好的选择可能是R Studio。该程序为我们提供了一个用户界面,使我们可以更轻松地处理数据、包和输出。最好的部分是 R Studi…

python编写API接口实现数据筛选、查询与分页

目录 一、背景 二、代码 一、背景 由于系统上需要分页展示数据,并提供按字段筛选数据的功能,于是需要我写个接口,以供前端使用。 接口可以通过python flask框架实现。Flask是一个轻量级的Web框架,它提供了足够的灵活性来构建定…

学会Sass的高级用法,减少样式冗余

在当今的前端开发领域,样式表语言的进步已经显著提升了代码组织性和可维护性。Sass(Syntactically Awesome Style Sheets)作为CSS预处理器的翘楚,以其强大的变量、嵌套规则、混合宏(mixin)、循环和函数等高…

STM32学习笔记(6_5)- TIM定时器的输出捕获原理

无人问津也好,技不如人也罢,都应静下心来,去做该做的事。 最近在学STM32,所以也开贴记录一下主要内容,省的过目即忘。视频教程为江科大(改名江协科技),网站jiangxiekeji.com 现在开…

ASR-LLM-TTS 大模型对话实现案例;语音识别、大模型对话、声音生成

参考:https://blog.csdn.net/weixin_42357472/article/details/136305123(llm+tts) https://blog.csdn.net/weixin_42357472/article/details/136411769 (asr+vad) 这里LLM用的是chatglm;电脑声音播报用的playsound 代码: ##运行 python main.pymain.py from multipro…

mac电脑下安装和启动nginx

一,安装homebrew 必须安装了homebrew,可在终端输入命令brew -v查看是否已经安装,没安装的话安装一下: 如果未安装先安装(网上很多文章) 二,查看nginx是否存在 使用命令:brew search nginx查看nginx是否存在: 不存在的话,就使用brew inst…

mac 系统如何生成秘钥

1.打开终端,输入 cd ~/.ssh 进入.ssh目录,输入 ls 检查是否已经存在SSH密钥。如果看到类似 id_rsa.pub 的文件,说明已经有一对公钥和私钥,不用新建,直接查看就可以,如果没有需要生成新的密钥。 2.在终端输…

(三)Qt+OpenCV调用海康工业相机SDK抓拍示例

系列文章目录 提示:这里是该系列文章的所有文章的目录 第一章: (一)QtOpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 第三章: (…

许可型DeFi 项目NEOPIN:在合规的框架下推动DeFi的创新

合规化已成 DeFi 的主流方向 过去的几年里,全球金融市场见证了 DeFi 的快速增长。DeFi 通过提供无需中介的交易和借款等金融服务,为用户带来前所未有的便利。然而,其匿名性和去中心化的特性也为监管和安全带来挑战 —— DeFi项目的透明度不足…

C#自定义控件 生成 与 加入到项目

C#自定义控件生成 在C#中,自定义控件通常是通过继承现有的控件类(如UserControl、Form等)并添加或修改其属性和方法来实现的。以下是一个简单的示例,演示如何创建一个自定义控件: 首先,创建一个新的Window…

荟萃分析R Meta-Analyses 1

参考:Harrer, M.、Cuijpers, P.、Furukawa, TA 和 Ebert, DD (2021)。 使用 R 进行荟萃分析:实践指南。佛罗里达州博卡拉顿和伦敦:Chapman & Hall/CRC Press。 ISBN 978-0-367-61007-4。 1.1什么是荟萃分析? 它的创始人之一 G…