JMeter中的字符串加密处理

接口测试过程中,经常会遇到带Token或签名等的请求。这里所谓的Token或签名,是一串加密后的字符串,作为请求体或请求头或URL中的一个参数放在Request中。

一 采用MD5算法

MD5是一种常见的消息摘要算法,采用加密函数对原始消息进行处理,如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。JMeter内置__MD5函数支持MD5算法:

二 采用SHA256算法

SHA256是另一种常见的消息摘要算法,提供比MD5更安全的加密功能,JMeter中,可以通过脚本来使用,具体的操作方法如下:

以上脚本在请求消息中添加了一个包头,名字为headerName,值为一个sha256加密函数处理过的字符串

三 AES算法

AES也是一种常见的加密算法,AES有多种工作模式,其中Java默认的工作模式为AES/ECB/PKCS5Padding:

四 采用其他加密算法

除了以上常见MD5及 SHA256加密算法以外,还有一些加密算法,比如AES, DES, EvpKDF, HMAC-MD5, HMAC-SHA1/3/256/512, MD5, PBKDF2, Rabbit, SHA1/3/224/256/512, TripleDES等,JMeter中需要依赖第三方的库来支持这些算法,这类库中比较有名的有MIT的bouncycastle(简称BC),IBMJCE等, 这里以BC为例:

1、下载BC相关jar包: https://www.bouncycastle.org/latest_releases.html

2、将下载下来的第三方jar包放到CLASSPATH中去,这里提供两种方法:

方法一:放到JMETER_HOME的lib目录中去

方法二:在JMeter测试计划中,直接添加jar文件

3、使用BC提供加密能力:

下面的是我的公众号二维码图片,欢迎关注我:

图注:TesterQ公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707G176PM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券