Jmeter模拟加密密码登录

简介: Jmeter模拟加密密码登录

方案一:打开浏览器,按下 F12,使用一个用户,输入正确的秘密从界面登录,查看登录接口传入的密码密文。然后在 Jmeter 中登录接口的 password 参数值设置为此密文。


不足:Jmeter 启动多个线程时,每个登录用户的密码需一样


36deeb8d489f42689847fcb4dea7685f.png

  • 方案二:获得前端密码加密的方式,在 Jmeter 上编写 js 脚本,按加密秘钥加密明文密码得到密文作为变量。然后登录接口引用变量。


在登录接口下方添加 JSR223 PreProcessor

aae4e2c91f304d57ab42b6687835a94a.png


编写脚本

/* URL Loading*/
// load("https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"); 
/*
 * for loading file from local of your jmeter place script in bin folder then 
 * load("file name with extension");
 */
var window = this; //定义window全局变量
var navigator = this; //定义navigator全局变量
load("jsencrypt.js"); //加载js文件
var publicKey = "公钥字符串"; //找开发要的公钥秘钥
var crypt = new JSEncrypt();
crypt.setPublicKey(publicKey);//设置公钥秘钥
log.info("${passwd}"); //passwd是通过csv获取到的参数值,打印出密码明文,用于调试
var passwdEncryption = crypt.encrypt("${passwd}"); //对密码明文进行加密
log.info(passwdEncryption); //打印出密码加密后样式
vars.put("passwdEncryption", passwdEncryption); //把加密后的放入Jmeter全局变量中,然后在登录接口引用${passwdEncryption}
// 加载脚本 默认目录是jemeter下bin目录
load("md5.min.js"); 
//load("http://localhost:8081/js/md5.min.js");
var password = "${password}" // 通过 csv 获取到的参数值,需要加上双引号,使参数值变为字符串类型
var salt = "9d5b364d";
var str = "" + salt.charAt(0) + salt.charAt(2) + password + salt.charAt(5) + salt.charAt(4);
var pwd = md5(str);
vars.put("pwd", pwd);//把加密后密码放入Jmeter全局变量中,然后在登录接口引用${pwd}

8fcc7950ab334a039179e6b5bab39008.png


JMeter中JSR223 PreProcessor常用内置函数


  1. log:记录日志文件,写入到jmeber.log文件


log.info(“Test log!”);


2.vars:操作jmeter变量,提供读取/写入访问变量的方法,

vars.get(String key):// 从jmeter中获得变量值;
vars.put(String key,String value):// 数据存到jmeter变量中; 
vars.putObject(“obj1”,new Object());


相关文章
|
存储 算法 数据管理
分布式存储的多副本纠删码简介
分布式存储的多副本纠删码简介
|
2月前
|
应用服务中间件 Linux 网络安全
CentOS 7 安装 nginx-1.3.15.tar.gz 详细步骤(从源码编译到启动配置)
本文详解Nginx 1.3.15源码编译安装全流程:从yum安装gcc、pcre、zlib、openssl等依赖,到下载解压、configure配置(指定路径及SSL/PCRE/zlib模块)、make编译、make install安装,再到启动、测试及常用命令(-s stop/reload/-t)。附端口占用、库缺失、防火墙等常见问题解决。
Apache JMeter 中的 Latency 和 Load Time
Apache JMeter 中的 Latency 和 Load Time
Apache JMeter 中的 Latency 和 Load Time
|
2月前
|
Java 数据中心
Java 并发核心:CountDownLatch、CyclicBarrier、Semaphore 原理吃透 + 生产级实战
本文深度解析JUC三大核心并发工具:CountDownLatch(一次性等待)、CyclicBarrier(可重用屏障)和Semaphore(信号量限流)。从AQS原理、源码关键点、生产实战、易混淆对比到避坑指南,五维讲透多线程协作本质,助力高并发系统稳定落地。
323 1
|
前端开发 JavaScript 数据安全/隐私保护
Jmeter模拟加密密码登录
Jmeter模拟加密密码登录
757 0
|
算法 安全 Java
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
【4月更文挑战第28天】性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
1242 1
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
|
9月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1872 10
|
Java 数据库连接 Apache
深入理解Apache Commons Pool2池化技术
深入理解Apache Commons Pool2池化技术
|
安全 网络安全
给ip白嫖一个免费的SSL
为IP地址申请免费SSL证书是可能的,如JoySSL提供的免费试用IP地址SSL证书。用户需访问其官网注册并填写特定注册码230922,完成IP地址验证后提交申请。成功后需定期检查更新证书,确保网站安全。尽管如此,基于域名的SSL证书更受信任,建议优先考虑。
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
1178 0

热门文章

最新文章