JMeter-接口签名校验
前言
很多HTTP接口在传参时,需要先对接口的参数进行数据签名加密
如pinter项目中的签名接口 http://localhost:8080/pinter/com/userInfo
参数为: {"phoneNum":"123434","optCode":"testfan","timestamp":"1211212","sign":"fdsfdsaafsasfas"} 其中,sign字段是按照特定算法进行加密后的数据
本接口的签名算法为 sign=Md5(phoneNum+ optCode+ timestamp)
对于这样的加密接口,除了导入加密的jar包和添加BeanShell写入代码以外,今天给大家介绍一种比较简单的方法
首先我们了解一下参数化函数:
CSV文件读取:${__CSVRead(D:\data.txt,0,)}
随机数:${__Random(1,100,)}
随机字符串:${__RandomString(8,abcdefghigklmnopqrstuvwxyz0123456789,)}
时间戳:${__time(,)} 生成唯一UUID:${__UUID}
注:上述函数都可以将结果保存到一个变量里,函数的最后一个参数为变量名称
一:添加签名接口http请求,写入JSON格式参数,添加HTTP信息头管理器
二:phoneNum和timestamp的值需要使用函数助手生成随机值
三:对sign的参数进行拼接
两种函数助手MD5加密参数化函数:
(1)"sign":"${__MD5(${phone}testfan${timeStamp},)}"
(2)"sign":"${__digest(MD5,${phone}testfan${timeStamp},,,)}"
四:写入参数化的参数化函数
五:添加监听器-察看结果树,点击运行,从响应结果得知,接口签名校验成功