一、在beanshell前置处理器中实现MD5编码
实现步骤:
1.在jmeter请求中添加beanshell前置处理器
2.在代码中引入org.apahce.commons.codec.digest.DigestUtils; jmeter中自带该类,直接引入即可,不需要额外的jar包
3.定义需要加密的字符串,并使用DigestUtils.md5Hex()方法对字符串进行加密
4.将加密的结果设置为变量
import org.apache.commons.codec.digest.DigestUtils;//引入加密类,jmeter自带,不需要导入额外的jar包
String t="${__time(,)}";
vars.put("t",t);
String temp="client=fanyideskweb&mysticTime="+t+"&product=webfanyi&key=fsdsogkndfokasodnaso";//待加密的字符串
log.info(temp);
String sign=DigestUtils.md5Hex(temp);//对字符串进行md5加密,并返回十六进制的String类型
vars.put("sign",sign);
二、在beanshell后置处理器中实现Base64解码
实现步骤:
1.添加beanshell后置处理器
2.在代码中引入org.apache.commons.net.util.Base64; jmeter中自带该类,直接引入即可,不需要额外的jar包
3.使用Base64.decodeBase64(source.getBytes("UTF-8"))对base64编码数据(数据必须是字节类型数据)进行解码
4.将解码后的数据保存到变量中
import org.apache.commons.net.util.Base64;
import org.apache.commons.codec.digest.DigestUtils;
String source1 ="${res_g0}";
log.info("-------------------"+source1);
source=source1.replace('-','+').replace('_','/');
log.info("-------------------"+source);
byte[] decodedBytes = Base64.decodeBase64(source.getBytes("UTF-8"));
String decoded = new String(decodedBytes);
vars.put("b64", decoded);
log.info(decoded);