JMeter有两种方法可以实现算法加密
一、使用__digest自带函数
参数说明:
- Digest algorithm:算法摘要,可输入值:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
- String to be hashed:要加密的数据
- Salt to be used for hashing (optional):用于计算散列的盐(可选项)
- Upper case result, defaults to false (optional):结果是否大写,默认为 false(可选)
- Name of variable in which to store the result (optional):存储结果的变量名(可选)
以md5加密算法演示使用方法
填入相关参数,点击生成,复制函数字符串
在要使用的地方粘贴函数字符串
在结果树中查看加密后的数据
二、在BeanShell 中使用JAVA代码实现算法加密
打开BeanShell,输入如下代码
import org.apache.commons.codec.digest.DigestUtils; // 定义加密字符串 String pwd= "123456"; // 加密数据 String pwd_md5 = DigestUtils.md5Hex(pwd); // 定义全局变量password_md5 vars.put("password_md5", pwd_md5);
md5Hex表示使用的md5加密,还有sha256Hex、sha512Hex等加密方式,更多加密方法请自行搜索...
因为var.put定义的是全局变量,所以,可以在http取样器中使用 ${变量名} 直接使用。
注意!JMeter5.1.1版本有个bug,只有在第二个http取样器之后变量才会被使用。
规避BUG的方法
在每个线程组中加个调试取样器,并将其放在首位来规避这个BUG