密码传参是通过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传参为加密后的参数