jmeter-SM2加密
一、开始准备
1、下载“mylEncrypt.jar”
2、将“mylEncrypt.jar”放入jmeter安装包下 lib\ext 文件夹下
3、jmeter添加前置处理器JSR223 PreProcessor,语言选择beanshell
二、代码如下
import com.union.crypto.asymmetric.SM2;
import com.union.util.UnionUtils;
private static String encrypt(String data, String timestamp) {
final String keyX = "32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7"; //key值根据实际key改变
final String keyY = "BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0";
final String spk = "123"; //有就写,没有可以不用
//final String plain = data + spk + timestamp;//根据需要去拼接
final String plain = data;
byte[] encData = SM2.encrypt(keyX , keyY , plain.getBytes());
return UnionUtils.bcdhex_to_aschex(encData);
}
timestamp = ${__time(/1000,)} + "";
vars.put("time",timestamp);
String password = "123abc"; //需要加密的的明文参数
String enc = encrypt(password, timestamp);
vars.put("pw", enc);
log.info("pw= " + enc);