Jmeter测试-用Beanshell进行MD5加密后生成sign

前言

部分公司为了提高接口请求的安全性,避免被抓包后乱请求,对外的接口都会用到sign签名,对不同的客户提供不同的secretKey 。用 jmeter 测试带有签名的接口,需要发起请求之前把body里面的sign参数的值修改为签名的值。

sign签名规则

签名参数sign生成的方法

  • 第1步: 将所有参数,除去sign本身,以及值是空的参数,将参数名ASCII从小到大排序(字典序)
  • 第2步: 然后把排序后的参数,以及参数对应的参数值,使用 URL 键值对的格式(即 key1=value1&key2=value2…)拼接成字符串
  • 第3步: 在第2步得到的字符串最后拼接上 key 得到新的字符串,并进行 MD5 运算,得到32位字符串,最后把字符串小写转成大写,得到的字符串作为sign的值

假设接口的请求方式为post,接口的请求参数如下,提供给客户的secretKey =aaaabbbb:

body = {
   
    "username": "test",
    "pwd": "123456",
    "phone": "",
    "sign": "签名后的值"
}

其中sign参数对应的sign_value就是签名的值。

jmeter生成签名发送请求步骤如下

先右键线程组->取样器->添加HTTP请求,填写请求方式,请求参数等,请求参数中的变量使用${ }格式
在这里插入图片描述
右键线程组->配置原件->添加HTTP信息头管理器,填写HTTP信息头信息
在这里插入图片描述
右键线程组->配置原件->用户定义的变量,添加请求参数中的变量
在这里插入图片描述
右键线程组->前置处理器->添加BeanShell 预处理程序,编写前置验签脚本
在这里插入图片描述
完整代码实现如下:

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比个yeah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值