1、首先了解原理,就是需要对如下三个参数进行SHA1加密,(AppSecret + Nonce + CurTime),三个参数拼接的字符串,进行SHA1哈希计算,转化成16进制字符(String,小写)
2、CheckSum有效期:出于安全性考虑,每个checkSum的有效期为5分钟(用CurTime计算),建议每次请求都生成新的checkSum,同时请确认发起请求的服务器是与标准时间同步的,比如有NTP服务。
具体操作如下:
1. 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组
2. 添加BeanShell Sample、HTTP请求
3. BeanShell里编写脚本,进行sha1 加密,具体代码如下:
import java.security.MessageDigest;
// 获取10位时间戳
public static String timeStamp(){
long time = System.currentTimeMillis();
String t = String.valueOf(time/1000);
return t;
}
//计算并获取CheckSum
public static String getCheckSum(String AK,String t, String SK){
return encode("sha1", AK + t + SK );
}
private static St