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());


相关文章
|
小程序 数据安全/隐私保护 开发者
【已解决】开发者扫码登录提示“需要验证小程序密码”
开发者扫码登录提示“需要验证小程序密码”
540 0
【已解决】开发者扫码登录提示“需要验证小程序密码”
|
8月前
|
前端开发 JavaScript 数据安全/隐私保护
Jmeter模拟加密密码登录
Jmeter模拟加密密码登录
169 0
|
26天前
|
Java 关系型数据库 MySQL
使用CAS登录模块连接数据库验证用户合法性
使用CAS登录模块连接数据库验证用户合法性
10 0
|
2月前
|
存储 运维 Nacos
nacos常见问题之连接用户名和密码把明文用户名和密码进行加密如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
574 2
|
12月前
|
数据安全/隐私保护
JMX安全漏洞修复 服务端增加用户名和密码验证机制
JMX安全漏洞修复 服务端增加用户名和密码验证机制
107 0
[导入]用户登录及验证用户是否登录的代码
用户登录及验证用户是否登录的代码文章来源:http://blog.csdn.net/jyk/archive/2006/08/15/1067382.aspx
678 0
|
网络安全 数据安全/隐私保护 Shell