接口测试过程中,经常会遇到带Token或签名等的请求。这里所谓的Token或签名,是一串加密后的字符串,作为请求体或请求头或URL中的一个参数放在Request中。
一 采用MD5算法
MD5是一种常见的消息摘要算法,采用加密函数对原始消息进行处理,如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。JMeter内置__MD5函数支持MD5算法:
二 采用SHA256算法
SHA256是另一种常见的消息摘要算法,提供比MD5更安全的加密功能,JMeter中,可以通过脚本来使用,具体的操作方法如下:
1import org.apache.commons.codec.binary.Base64
2import org.apache.commons.codec.digest.DigestUtils
3import org.apache.jmeter.protocol.http.control.Header
4
5url = sampler.getUrl().toString()
6nonce = "passwd"
7timestamp = System.currentTimeMillis()
8combined = url + nonce + timestamp;
9base64 = Base64.encodeBase64(combined.getBytes());
10
11// encode SHA256
12headerValue = DigestUtils.sha256Hex(b