【性能测试-登录时密码加密存储如何传参】

目的】
登录接口,密码加密传输,开发不做处理的情况下,密码如何加密传输
【方案】
使用前置处理器:JSR223 预处理程序,主要是在执行登录接口前将密码按照加密算法获得对应的加密密码,并传入接口
在这里插入图片描述

【说明】前端开发配合
1)前置的语言,这里使用js
2)这里load的算法需要两个js加密的文件,前端开发提供。这里的密码先经过sm2加密后又经过base64加密;所以引用了两个js的加密
3)这里的js文件要放到jmeter的安装包的Bin目录才行
4)公钥开发提供
5)可以调试打印: log.info("====jinru "+encryptData)
在这里插入图片描述
【脚本】

var navigator = this;
var window = this;// 引用在线jsencrypt.min.js包,也可以下载到本地再引用
load("D:/work/soft/jmeter/apache-jmeter-5.6.3/bin/sm2.js");
load("D:/work/soft/jmeter/apache-jmeter-5.6.3/bin/base64.js");log.info("加载完成====");
// 1、生成1024位的私钥 openssl genrsa -out rsa_1024_priv.pem 1024
// 2、生成1024位的公钥 openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem
// var sm2 = require("./sm2.js");
// var Base64 = require("./base64.js");// log.info("jsencrypt.min.js加载成功!");
// BASE64.encode(inputStr);//普通Base64编码
// 加密
function SM2_ENC() {var pswd = "P@ss*w0rd@Sxyz!";var publicKey ="04487C1509763A8FA0A6FF3B1008B86C7C8C16DF6D9389A58DC12D4480C1A6BEB4717E368F3E62E67A4D2A417E87BB503341889A070DA710BBDF7E2B5810BC0000"; // publicKeyvar cipherMode = 1;var encryptData = sm2.doEncrypt(pswd, publicKey, cipherMode);log.info("====jinru "+encryptData)var password = BASE64.encode("04" + encryptData);log.info("加密后password====" + password);// vars.put("username", username);vars.put("password", password);// return password;
}SM2_ENC();

【注意】
js脚本前端提示,前端开发本地执行没问题,但是放到jmeter就不行,此时需要调整脚本;另外算法文件js也有报错的情况,需要开发配合修改的!
在这里插入图片描述

【登录接口】
按照如下$引用密码即可,可以使用查看结果数查看传参过程
在这里插入图片描述

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

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

相关文章

如何对视频文件加密_如何加密视频文件_视频文件如何加密

“嘿,小李,你知道咱们公司的新项目资料都是视频形式的吗?这些视频里有很多机密信息,我们需要好好保护起来。” “是啊,我也在想这个问题。你有没有什么好办法来加密这些视频文件呢?” “我听说有个叫域智盾…

生成式AI的双重路径:Chat与Agent的融合与竞争

文章目录 每日一句正能量前言整体介绍对话系统(Chat)自主代理(Agent)结论 技术对比技术差异优势与劣势技术挑战结论 未来展望发展趋势Chat与Agent的前景社会和经济影响结论 后记 每日一句正能量 在避风的港湾里,找不到…

代码随想录算法训练营第38天|LeetCode 322. 零钱兑换、279.完全平方数、139.单词拆分

1. LeetCode 322. 零钱兑换 题目链接:https://leetcode.cn/problems/coin-change/description/ 文章链接:https://programmercarl.com/0322.零钱兑换.html 视频链接:https://www.bilibili.com/video/BV14K411R7yv/ 思路: 硬币无限…

实现领域驱动设计(DDD)系列详解:领域模型的持久化

领域驱动设计主要通过限界上下文应对复杂度,它是绑定业务架构、应用架构和数据架构的关键架构单元。设计由领域而非数据驱动,且为了保证定义了领域模型的应用架构和定义了数据模型的数据架构的变化方向相同,就应该在领域建模阶段率先定义领域…

我的世界!

每位冒险家在《我的世界》中的出生点都各不相同, 有的出生在桦木森林,有的出生在草原, 还有的出生在临近海洋的沙滩。 这些环境叫做生物群系,也常被称为生态系统。 在《我的世界》中的不同生物群系具有不同的地域特色—— 不…

本地化部署一个简单的AI大模型,Llama3.1

7 月 23 日消息,Meta 今晚正式发布llama3.1,提供 8B、70B 及 405B 参数版本。 Meta 称 4050 亿参数的 Llama 3.1-405B 在常识、可引导性、数学、工具使用和多语言翻译等一系列任务中,可与 GPT-4、GPT-4o、Claude 3.5 Sonnet 等领先的闭源模型…

Qt遇到qt自身组件找不到

比如在使用qtcharts的时候,找不到 解决方法: 在cmakelist中添加 find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Charts REQUIRED) 是一个 CMake 命令,用于查找并配置 Qt 库中的特定组件。这条命令的作用是找到 Qt 的主要版本(…

ST Stellar-E SR5E1 22KW OBC combo 3KW DC-DC汽车充电器解决方案

对于全球的环境保护意识抬头,全球的汽车产业慢慢步入电动化的时代,以减少碳排放。整车系统主要是由电池、电驱、电控的三电所构成,其中电池系统是整车的动力来源,而对电池充电的OBC系统更甚重要。一具高度安全性且高效的OBC系统&a…

MybatisPlus设置动态表名

对于一些数据量比较大的表,为了提高查询性能,我们一般将表拆分成多张表,常见的是根据数据量,按年分表或者按月分表;分表虽然太高了查询性能,但是在查询的时候,如何才能查询执行分表数据呢&#…

7.25扣...

思路:别的语言都可以不用辅助数组,我Java就得用! c:先计算字符串中数字个数,然后利用双指针将原本字符串逆序从数组最后往前插入,若遇到数字则替换为逆序的“number”,这个过程会使新字符串从后往前覆盖&am…

UI界面卡顿检测工具--UIHaltDetector

引言: 在日常工作当中,我们经常会遇到软件的界面出现卡顿的问题,而为了确定卡顿原因,我特地写了一个UI界面卡顿的小工具:UIHaltDetector;该工具可以在检测到目标窗口出现卡顿的时候直接打印堆栈日志和输出…

MySQL SQL 编程练习

目录 创建表并插入数据 查看表结构 创建触发器 创建INSERT 触发器 创建DELETE 触发器 创建更新触发器 创建存储过程 创建提取emp_new表所有员工姓名和工资的存储过程s1 创建存储过程s2,实现输入员工姓名后返回员工的年龄 创建一个存储过程s3,有2个参数&…

springboot校园商店配送系统-计算机毕业设计源68448

摘要 本文详细阐述了基于Spring Boot框架的校园商店配送系统的设计与实现过程。该系统针对校园内的用户需求,整合了用户注册与登录、商品浏览与购买、订单管理、配送追踪、用户反馈收集以及后台管理等功能,为校园内的普通用户、商家、配送员和管理员提供…

算法与算法分析

目录 一.前言 二.算法的特性和要求 三.分析算法--时间效率 四. 分析算法--空间效率 一.前言 算法就是对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中,每个指令表示一个或多个操作。总而言之,我们数据结构就是通过算法实现操…

FPGA实现LCD1602控制

目录 注意! 本工程采用野火征途PRO开发板,外接LCD1602部件进行测试。 有偿提供代码!!!可以定制功能!!! 联系方式见底部 一、基础知识 1.1 引脚信息 1.2 指令 1.2.1 清屏 1.…

【有效的括号】

有效的括号 一、题目二、思路三、代码 一、题目 二、思路 利用栈先进后出的特点存储左括号:后面遍历遇到的左括号要先闭合 用map存储左括号与右括号的对应关系,利用键值对快速查找右括号进行匹配 三、代码 使用.has()方法判断当前遍历的字符是否是右括…

项目架构知识点总结

项目架构知识点总结 【一】重要注解【1】SpringBootApplication(1)⭐️ComponentScan 注解(2)⭐️EnableAutoConfiguration 注解(3)⭐️SpringBootConfiguration 注解(4)Inherited 注…

vite+cesium+天地图

创建vite项目 直接在地址栏输入cmd进入命令行(vite项目默认为vue3) # yarn yarn create vite 项目名称 --template vue 创建成功后依次执行 yarn install yarn dev 安装cesium和vite-plugin-cesium 没有加版本号默认为最新版本 加版本号如cesium1.1…

sql注入的专项练习 sqlilabs(含代码审计)

在做题之前先复习了数据库的增删改查,然后自己用本地的环境,在自己建的库里面进行了sql语句的测试,主要是回顾了一下sql注入联合注入查询的语句和sql注入的一般做题步骤。 1.获取当前数据库 2.获取数据库中的表 3.获取表中的字段名 一、sql…

WordPress 后台开发技巧:向文章发布页右侧添加自定义菜单项

案例图片 这个案例向你介绍了如何在文章发布页的右侧边栏增加一个新的自定义菜单项。具体用它实现什么功能,就看你的需要了。 代码 function add_custom_menu_item() { add_meta_box(custom_menu_item, 这里是菜单项名称, display_custom_menu_item, post, side, …