jmeter常规鉴权

本文介绍了如何在JMeter中处理外部接口的常规鉴权流程。通过Beanshell脚本生成所需参数,包括 companyId, timestamp, randomStr 和 sign 的生成。步骤包括按字典序排序参数、Base64编码、使用特定key进行HMAC-SHA1哈希和MD5转换。companyId和加密key保存在用户自定义变量中,代码置于BeanShell预置处理器中,未来计划封装为jar包以实现复用。" 68946169,5215989,DBSCAN聚类算法实现:MATLAB与C++代码解析,"['算法', '数据挖掘', '机器学习', 'C++编程', 'MATLAB编程']
摘要由CSDN通过智能技术生成

jemter测试外部接口

外部接口一般都会有鉴权逻辑,在jmeter中用beanshell脚本生成,需要的数据

常规鉴权流程

例如:公用参数companyId,timestamp,randomStr,sign
每个接口都需要使用公用参数
另外有一个加密key
流程:

  1. 把除了sign以外所有参数,按字典序排序后,拼接成字符串str,示例:key1=val1&key2=val2
  2. 把步骤1得到的字符串str做base64编码得到字符串base64String(编码时定字符集为utf-8)
  3. 使用 作为加密key对base64String做HMAC-SHA1哈希,得到字节数组hmacSha1byte
  4. 把步骤3得到的字节数组hmacSha1byte做md5得到32位字符串,并转换为大写,即为签名sign

companyId和加密key是后台提供,固定的,所以添加到用户自定义变量中
在这里插入图片描述

直接上代码

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.net.util.Base64;
import java.util.ArrayList;
import java.util.List; 
import java.util.Collections;

String timestamp = "${__time()}"; //生成时间戳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值