使用BeanShell解密前,需要先使用正则表达式提取器或者json提取器将原始base64密文获取到,并保存到data中。
随后,使用BeanShell 后置处理程序,输入以下代码
import java.io.*;
import org.apache.commons.codec;
import org.json.JSONObject;
import org.json.JSONArray;
import sun.misc.BASE64Decoder;
String resp_data =vars.get("data");
log.info("加密后获取的响应值------->>"+resp_data);
log.info("------------开始解密-------------------");
org.apache.commons.codec.binary.Base64 base64=new org.apache.commons.codec.binary.Base64();
String s=new String(base64.decode(resp_data));
log.info("解密后的值------->>"+s);
log.info("------------解密结束-------------------");
vars.put("data",s);
该脚本会把data中的密文,拿出来进行解密,解密后的明文通过vars.put保存到data这个参数中。
如果data中有多个参数,可以通过正则表达式提取器再分别提取出来,
可参考我的这篇:jmeter之正则表达式