Jmeter模拟加密密码登录

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


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

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

在登录接口下方添加 JSR223 PreProcessor

编写脚本

/* 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}

JMeter中JSR223 PreProcessor常用内置函数

  1. log:记录日志文件,写入到jmeber.log文件
log.info(“Test log!”);
  1. vars:操作jmeter变量,提供读取/写入访问变量的方法,
vars.get(String key):// 从jmeter中获得变量值;
vars.put(String key,String value):// 数据存到jmeter变量中; 
vars.putObject(“obj1”,new Object());


相关文章
|
3月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
26 0
|
3月前
|
移动开发 JavaScript 安全
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
113 0
|
1月前
|
编解码 Java Nacos
nacos常见问题之密码加密配置如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
145 0
|
1月前
|
存储 运维 Nacos
nacos常见问题之连接用户名和密码把明文用户名和密码进行加密如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
192 2
|
1月前
|
算法 前端开发 JavaScript
SpringBoot+随机盐值+双重MD5实现加密登录
SpringBoot+随机盐值+双重MD5实现加密登录
199 1
|
1月前
|
应用服务中间件 Nacos 数据安全/隐私保护
nacos常见问题之如何用明文密码做加密
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
119 0
|
1月前
|
存储 API 数据库
微搭低代码密码加密存储
微搭低代码密码加密存储
|
3月前
|
PHP 数据安全/隐私保护
|
3月前
|
安全 算法 Java
spring security 如何对密码进行加密
spring security 如何对密码进行加密