JMeter-SHA256加密算法接口测试
Posted zhangwuxuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter-SHA256加密算法接口测试相关的知识,希望对你有一定的参考价值。
前言
我们已经学过了如何利用python脚本对SHA256加密接口进行测试,还没学会的小伙伴们可以看回我写的随笔Python-SHA256加密算法接口测试,那么,对于SHA256加密算法接口,我们如何使用JMeter来进行测试呢?下面,我们来学习两种方法。
接口文档如下:
接口地址: http://47.96.181.17:8098/login
返回格式: json
请求方式: POST
请求参数:{"userName":"您的用户名","password":"sha256加密后的密码"}
请求头:
键:Content-Type 值:application/x-www-form-urlencoded
键:X-Requested-With 值:XMLHttpRequest
成功返回示例:
{
‘jumpUrl‘: ‘index‘,
‘success‘: ‘true‘,
‘systemUser‘: {‘avatarName‘: None,
‘avatarPath‘: ‘file/avatar/2020-02-06/‘,
‘nickname‘: ‘sqqdcl3‘,
‘rememberMe‘: False,
‘securityDigest‘: None,
‘userId‘: ‘1‘,
‘userName‘: ‘sqqdcl‘}
}
失败返回示例:
{‘error‘: {‘password‘: ‘密码错误‘}, ‘success‘: ‘false‘}
方法一:使用JMeter的自带函数
一:打开函数助手,选择__digest
参数含义:
- Digest algorithm 算法摘要:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
- String to be hashed:要计算的字符串;
- Salt to be used for hashing (optional):用于计算散列的盐(可选项);
- Upper case result, defaults to false (optional)
:结果大写,默认为
false
(可选),即默认摘要值为小写
- Name of variable in which to store the result (optional)存储结果的变量名(可选)
二:添加HTTP信息头管理器
三:添加http请求
四:添加监听器-察看结果树,点击查看运行后的结果
方法二:添加“BeanShell 预处理程序”
一:在“线程组”上添加前置处理器-BeanShell PreProcessor
在Script写入以下代码:
import org.apache.commons.codec.digest.DigestUtils; String password = "111111"; String pwd_sha256 = DigestUtils.sha256Hex(password); #结果是大写:String pwd_sha256 = DigestUtils.sha256Hex(password).toUpperCase(); vars.put("pwd-sha256", pwd_sha256);
二:添加HTTP信息头管理器
三:添加http请求
四:添加监听器-察看结果树,点击查看运行后的结果
以上是关于JMeter-SHA256加密算法接口测试的主要内容,如果未能解决你的问题,请参考以下文章