密码传参是通过RSA加密的, jmeter如何实现RSA加密传参
1.新增JSR223预处理程序
脚本语言选择java

2.脚本可以找开发提供加密代码, 引用相关的包即可
import org.apache.commons.codec.binary.Base64;
import sun.security.rsa.RSAPublicKeyImpl;
import javax.crypto.Cipher;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
try {
String publicKeyStr = "M****";
String password = "***";
byte[] data = Base64.decodeBase64(publicKeyStr.getBytes());
RSAPublicKeyImpl publicKey = new RSAPublicKeyImpl(data);
Cipher cipher = Cipher.getInstance("RSA/None/NoPadding", new BouncyCastleProvider());
cipher.init(1, publicKey);
String pwd = Base64.encodeBase64String(cipher.doFinal(password.getBytes()));
vars.put("editmerchant_sign",pwd);
} catch (Exception e) {
e.printStackTrace();
}
3.赋值加密后的pwd给变量名editmerchant_sign
4.http请求中, 直接传${editmerchant_sign}

5.查看结果树, password传参为加密后的参数

本文介绍如何使用JMeter配合Java代码实现RSA加密传参,适用于密码等敏感信息的安全传输。主要步骤包括:添加JSR223预处理器,使用提供的RSA加密代码进行密码加密,并将加密后的密文作为请求参数。

3705

被折叠的 条评论
为什么被折叠?



