JMeter之引入jar包解决登录时密码加密问题

前言

主要内容:最近使用jemter模拟并发用户登录创建数据,由于密码是加密处理的,需要使用java编写一个工具类,打开jar包在jemter中引入使用,特此记录下使用过程。

  • 第一部分:编写加密方法
  • 第二部分:生成jar包
  • 第三部分:jmeter中引入jar包并使用

一、 RSA 密码加密传输

之前有写过一篇关于RSA加密相关的文章,当时用python实现的。思路是一样的,这里用java实现。贴上相关链接,大家可以参考下 解决自动化测试过程中RSA密码加密问题

代码示例

package com.login.api;

import javax.crypto.Cipher;
import java.nio.charset.StandardCharsets;
import java.security.KeyFactory;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;

public class LoginTools {

    static String PUBLIC_KEY = "换成你的key";
    //公钥加密密码
    public static String encrypt(String password) throws Exception {
        byte[] bytes = PUBLIC_KEY.getBytes("UTF-8");
        Cipher cipher = Cipher.getInstance("RSA");
        byte[] decoded = Base64.getDecoder().decode(bytes);
        RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
        cipher.init(Cipher.ENCRYPT_MODE, pubKey);
        byte[] a = Base64.getEncoder().encode(cipher.doFinal(password.getBytes(StandardCharsets.UTF_8)));
        String outStr = java.util.Base64.getEncoder().encodeToString(cipher.doFinal(password.getBytes(StandardCharsets.UTF_8)));
        return outStr;
    }

    public static void main(String[] args) throws Exception {
        String pwd = encrypt("123456f");
        System.out.println(pwd);
    }


}

二、 使用IDEA生成jar包

  1. 首先在本地运行测试后,会在target下生成对应的class文件
  2. IDEA->File->Project Structrue… 打开配置项
    生成jar包-1
  3. 配置信息
    生成jar包-2
  4. 添加源文件生成的class文件
    生成jar包-3
  5. 选择对应的工具类生成的class文件
    生成jar包-4
  6. 配置下mainifest文件,点击【OK】保存
    生成jar包-5
  7. Build->Build Artifacts生成jar包-6
  8. 生成jar包
    生成jar包7

三、jmeter中引入jar并使用

将生成的jar包拷贝到jmeter的路径lib下或者lib的ext下,都可以。然后就可以在工具的愉快的使用了。
Beanshell中引入jar包调用方法
以上只记录了如何引用jar包工具,不正确的地方,欢迎大家指正。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值