jmeter--8.加密传输
目录
1. Base64加密
2. MD5加密
3. SHA加密(sha1\sha\sha224\sha256\sha384\sha512)
4. RSA加密-公钥加密,私钥解密
1. Base64加密
1.1 在需要加密传输的接口下新增BeanShell 预处理程序,${username}可替换成value值,但是不利于参数化
import java.util.Base64;
//初始化一个Base64对象,调用encodeToString()方法
String Musername = Base64.getEncoder().encodeToString("${username}".getBytes("UTF-8"));
String Mpassword = Base64.getEncoder().encodeToString("${password}".getBytes("UTF-8"));
log.info(Musername);
log.info(Mpassword);
//设置变量
vars.put("Musername",Musername);
vars.put("Mpassword",Mpassword);
2. MD5加密
2.1 使用函数助手进行加密
${__digest(MD5,${username},,,)}

2.2 使用beanshell进行加密
在需要加密传输的接口下新增BeanShell 预处理程序
//导包
import org.apache.commons.codec.digest.DigestUtils;
//md5加密
String Musername = DigestUtils.md5Hex("${username}");
String Mpassword = DigestUtils.md5Hex("${password}");
//传值
vars.put("Musername",Musername);
vars.put("Mpassword",Mpassword);
3. SHA加密(sha1\sha\sha224\sha256\sha384\sha512)
3.1 使用函数助手进行加密--注意函数助手不支持sha-3加密
${__digest(sha-1,${username},,,)}

2.2 使用beanshell进行加密
import org.apache.commons.codec.digest.DigestUtils;
String username = DigestUtils.sha512Hex("${username}");
String password = DigestUtils.sha512Hex("${password}");
log.info("username加密结果为:"+username);
log.info("password加密结果为:"+password);
4. RSA加密-公钥加密,私钥解密
需要引入python脚本进行加密--公钥根据接口需求获取(可以直接问开发),这里只是一个示例
#通过公钥加密
def rsa_jiami():# 接收cmd命令里面的参数parse = argparse.ArgumentParser()parse.add_argument("-t", "--ticket", action="append")args = parse.parse_args()ticket = args.ticket#print("ticket:%s" % ticket)#导入公钥public_key_str = "-----BEGIN RSA PUBLIC KEY-----\nMIGJAoGBALO7UPE26anTGHND2Q54zYYPusDx+tbO1Yia7zoxpZediw+Baea7aFZC\nJ+ZvWd5ZBTopuWvb8hNkY24eBHcXN0pU32WjsH9REp1kXhxbndnw+u3diaoUFqVc\n66xl+LXEo1Y9oDWfkGCir2JnN0aieUiPlHDLhmc+LII/ZDspITKDAgMBAAE=\n-----END RSA PUBLIC KEY-----"pubkey = rsa.PublicKey.load_pkcs1(public_key_str.encode())#加密用户名username_str = rsa.encrypt(str(ticket[0]).encode("utf-8"),pubkey)#把二进制转化成字符串格式username_miwen = base64.b64encode(username_str).decode("utf-8")print(username_miwen)print("测试")# 加密密码password_str = rsa.encrypt(str(ticket[1]).encode("utf-8"), pubkey)# 把二进制转化成字符串格式passsword_miwen = base64.b64encode(password_str).decode("utf-8")print(passsword_miwen)if __name__ == '__main__':rsa_jiami()
beanshell调用
注意这里需要安装rsa,不然会引用失败。在控制台安装【pip install rsa】
import java.io.BufferedReader; //导包
import java.io.InputStreamReader;String command = "cmd /c python D:/study/course/Jmeter/RSAjiami.py -t ${username} -t ${password}"; //组建cmd命令并执行py文件
Runtime rt = Runtime.getRuntime(); //初始化一个运行时对象
Process pr = rt.exec(command); //通过运行时对象运行cmd命令。pr.waitFor(); //运行时等待//调用pr进程对象获取到它的输入流。读取pr文件流的内容,并且保存到reponse_data
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
StringBuilder response = new StringBuilder();
String line = "";
while((line=br.readLine())!=null){response.append(line);
};
String reponse_data = response.toString();
br.close();log.info("reponse_data:"+reponse_data);//打印返回的内容//获取用户名和密码
String[] miwen = reponse_data.split("测试");
log.info(miwen[0]);
log.info(miwen[1]);
vars.put("Musername",miwen[0]);
vars.put("Mpassword",miwen[1]);
相关文章:
jmeter--8.加密传输
目录 1. Base64加密 2. MD5加密 3. SHA加密(sha1\sha\sha224\sha256\sha384\sha512) 4. RSA加密-公钥加密,私钥解密 1. Base64加密 1.1 在需要加密传输的接口下新增BeanShell 预处理程序,${username}可替换成value值ÿ…...
微信小程序canvas画布转图片转pdf文件
关键步骤介绍 步骤一:将canvas页面保存为图片 for(var a=0;a<this.data.page_canvas.length;++a){ var t_page_img = await this.canvas_to_image(this.data.page_canvas[a]) t_img.push(t_page_img) } this.data.page_canvas是保存的canvas界面,this.c…...
【Linux操作】国产Linux服务管理操作
【Linux操作】国产Linux服务管理操作 前言SAMBA配置服务器端1. 安装相关包2. 配置/etc/samba/smb.conf,在此文件末尾添加如下内容,并保存退出。3. 创建/home/share并更改权限4. 启动samba服务 客户端• Windows客户端• 麒麟客户端 Telnet1、telnet语法2…...
大语言模型系列-word2vec
文章目录 前言一、word2vec的网络结构和流程1.Skip-Gram模型2.CBOW模型 二、word2vec的训练机制1. Hierarchical softmax2. Negative Sampling 总结 前言 在前文大语言模型系列-总述已经提到传统NLP的一般流程: 创建语料库 > 数据预处理 > 分词向量化 > …...
vue项目运行报错this[kHandle] = new _Hash(algorithm, xofLen)
自从昨天分盘重装了最新版本的Node之后,项目是一启一个报错 出现这个报错时,需要在package.json文件中 dev命令行 增加:set NODE_OPTIONS–openssl-legacy-provider 出现该问题的原因: node.js V17开始版本中发布的是OpenSSL3.0,…...
APP兼容性测试,这几个面试硬技能,包教包会
兼容性测试主要通过人工或自动化的方式,在需要覆盖的终端设备上进行功能用例执行,查看软件性能、稳定性等是否正常。 对于需要覆盖的终端设备,大型互联网公司,像 BAT,基本都有自己的测试实验室,拥有大量终…...
【学习iOS高质量开发】——熟悉Objective-C
文章目录 一、Objective-C的起源1.OC和其它面向对象语言2.OC和C语言3.要点 二、在类的头文件中尽量少引用其他头文件1.OC的文件2.向前声明的好处3.如何正确引入头文件4.要点 三、多用字面量语法,少用与之等价的方法1.何为字面量语法2.字面数值3.字面量数组4.字面量字…...
Qt/QML编程之路:Grid、GridLayout、GridView、Repeater(33)
GRID网格用处非常大,不仅在excel中,在GUI中,也是非常重要的一种控件。 Grid 网格是一种以网格形式定位其子项的类型。网格创建一个足够大的单元格网格,以容纳其所有子项,并将这些项从左到右、从上到下放置在单元格中。每个项目都位于其单元格的左上角,位置为(0,0)。…...
mac pro “RESP.app”意外退出 redis desktop manager
文章目录 redis desktop manager下载地址提示程序含有恶意代码“RESP.app”意外退出解决办法:下载python3.10.并安装重新打开RESP如果还是不行,那么需要替换错误路径(我的没用)外传 最近在研究redis的消息,看到了strea…...
VirtualBox 如何让虚拟机和主机互相通信
首先建立一张虚拟网卡 在这里进行网络设置 设置成固定ip,这张网卡专门用来通信,上面的网卡用来上网的...
【Java】源码文件开头添加注释
需求 应公司质量部要求,需要对代码做静态检查。质量部要求,源码文件必须在起始行起设置一些注释,然而项目已经开发了一年之久,且没有维护这个注释。 此时,面对好几千个源码文件,我们如何快速添加相应的注…...
GitHub 异常 - 无法连接22端口 Connection timed out
GitHub 异常 - 无法连接22端口 Connection timed out 问题描述 错误信息: 今天突然用ssh方式 pull GitHub的项目报:ssh: connect to host xx.xx.xx.xx port 22: Connection timed out 表明 SSH 连接在尝试通过 22 端口连接到远程服务器时超时。这可能是由于网络环…...
python基础学习
缩⼩图像(或称为下采样(subsampled)或降采样(downsampled))的主要⽬的有两个:1、使得图像符合显⽰区域的⼤⼩;2、⽣成对应图像的缩略图。 放⼤图像(或称为上采样…...
Python密码本连接wifi
有时候我们会忘记自己的Wi-Fi密码,或者需要连接某个Wi-Fi网络以满足合法需求。本文将介绍如何使用Python编程语言编写一个简单的连接Wi-Fi的程序。 一、密码本准备 在进行wifi猜测时,其实就是列出各种可能的密码,用来尝试去访问目标wifi&…...
Docker 设置 Redis 的密码失效
在网上找了设置Docker里的设置Redis密码,一段时间就失效了 1. 进入redis的容器 docker exec -it 容器ID redis-cli2. config set requirepass 密码 解决方法 1. 创建 redis.conf 配置文件 # Redis configuration file example. # # Note that in order to read the configu…...
1.环境部署
1.虚拟机安装redhat8系统 这个其实很简单,但是有一点小细节需要注意。 因为我的电脑是 16核心的,所以选择内核16,可以最大发挥虚拟机的性能 磁盘选择SATA,便于后期学习 将一些没用的设备移除 选择安装redhat 8 时间选择上海 选择…...
2024年第二届“华数杯”国际大学生数学建模竞赛 (A题 MCM)| 废水扩散分析 |数学建模完整代码+建模过程全解全析
当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看华数杯的A题! 完整内容可以在文章末…...
深度学习基础知识整理
自动编码器 Auto-encoders是一种人工神经网络,用于学习未标记数据的有效编码。它由两个部分组成:编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式,而解码器则将该表示形式转换回原始数据。这种方法可以用于降维,去噪,特征提取和生成模型。 自编码器的训练过…...
go语言GMP模式介绍以及协程案例展示
一. MPG模式 Go语言的调度模型被称为GMP,这是一个高效且复杂的调度系统,用于在可用的物理线程上调度goroutines(Go的轻量级线程)。GMP模型由三个主要组件构成:Goroutine、M(机器)和P࿰…...
码牛课堂首推——鸿蒙南北双向开发学习路线图标准版~
鸿蒙!鸿蒙!鸿蒙! 要说2023-2024年IT圈最火爆的名词,一定是鸿蒙! 2023年9月25日,华为发布会正式宣布2024年第一季度将推出HarmonyOS NEXT版本,这意味着鸿蒙原生应用开发将彻底摆脱Android手机系…...
软件测试的安全漏洞挖掘:掌握这3个方法,成为安全测试专家
对于软件测试从业者而言,随着数字化转型的深入,软件系统承载的敏感数据、核心业务不断增加,安全漏洞已经从“可接受的开发瑕疵”变成了威胁业务生存的核心风险。从用户隐私泄露到核心支付系统被攻破,从开源组件漏洞引发的供应链攻…...
源代码论文分享|社区养老服务平台的设计与实现!
有些毕业设计题目,听起来不是特别“炫”,但真的很适合做,也很容易写出实际意义。 比如这次分享的这个项目:社区养老服务平台的设计与实现。 现在社区养老、居家养老、智慧养老这些方向本身就很有现实背景,老师看到这…...
GitHub资源精准下载:3分钟掌握DownGit的完整使用指南
GitHub资源精准下载:3分钟掌握DownGit的完整使用指南 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 还在为下载GitHub上单个文件而烦恼吗?DownGit是你的终极解决方案!这个…...
DeepSeek-V4 详细解读
一、核心突破与整体定位 DeepSeek-V4 是 2026 年 4 月发布的新一代开源大模型,核心目标是解决长上下文的工程化落地难题,通过架构、训练和推理的全栈优化,实现了 "百万上下文能用、好用、日常用"。 整体技术路线 DeepSeek-V4 基于 "Transformer + DeepSeek…...
紫光同创FPGA网络摄像头方案选型指南:OV7725 vs OV5640,YT8531 vs KSZ9031怎么选?
紫光同创FPGA网络摄像头方案选型指南:OV7725 vs OV5640,YT8531 vs KSZ9031深度解析 在工业视觉和安防监控领域,FPGA因其并行处理能力和低延迟特性,成为实时视频采集与传输的理想选择。紫光同创作为国产FPGA的重要代表,…...
2026年京东云OpenClaw/Hermes Agent配置Token Plan安装详细指南
2026年京东云OpenClaw/Hermes Agent配置Token Plan安装详细指南。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...
Java学习笔记——DAY3
目录 1、Java方法 2、方法的定义 3、方法调用 4、方法的重载 5、命令行传参 6、可变参数 7、递归 1、Java方法 Java方法是语句的集合,它们在一块执行一个功能。 方法是解决一类问题的步骤的有序集合方法包含与类或对象中方法在程序中被创建,在其…...
DownKyi深度解析:重新定义B站视频内容管理的新范式
DownKyi深度解析:重新定义B站视频内容管理的新范式 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等ÿ…...
SteamDeck双系统引导终极方案:如何用智能化管家告别启动烦恼
SteamDeck双系统引导终极方案:如何用智能化管家告别启动烦恼 【免费下载链接】SteamDeck_rEFInd Simple rEFInd install script for the Steam Deck (with GUI customization) 项目地址: https://gitcode.com/gh_mirrors/st/SteamDeck_rEFInd 你是否曾经在St…...
Rescuezilla:3分钟掌握系统恢复的终极指南,让数据灾难不再可怕 [特殊字符]
Rescuezilla:3分钟掌握系统恢复的终极指南,让数据灾难不再可怕 😱 【免费下载链接】rescuezilla The Swiss Army Knife of System Recovery 项目地址: https://gitcode.com/gh_mirrors/re/rescuezilla 当你的电脑突然蓝屏,…...
