如何利用Apifox通过签名计算及数据加解密进行用户认证接口测试?
用户注册场景:输入签名数据signature,appId,13位时间戳timestamp,6位随机数nonce,merchantId(非必填,本次不填)的请求参数发送给服务器,服务器返回响应数值后,校验响应数据中的signature是否一致,并且对响应数据中的data进行解密;在控制台获取resData的属性值,partnerUserNo的属性值,即用户注册成功
请求:签名计算及参数加密:
1.用户注册接口,需要对用户的nonce, times,以appSecret为密钥进行MD5加密得到签名数据;
2.将加密参数转为字符串,以appSecret为密钥,iv向量:sdkppillowserver用cbc模式的对数据进行加密;
3.将签名计算和加密后的数据放进请求参数里,并且更新原有的请求参数timestamp.
一:实现签名计算具体实现步骤如下:
(1)确定请求方法,请求地址,请求头,测试环境等参数准确;
(2)请求参数appId(找开发要),,6位随机数nonce(自己设置),timestamp(后续脚本生成),signature(后续脚本生成),填入请求Body里

(3)设置请求参数,将请求参数设置为变量datajson,由于从服务端接受的数据都是json字符串,需将它转化为对象;
(4)签名计算,设置一个变量attrs包含nonce, times,appSecret的值,
将attrs转为字符串,以字符串形式由低到高进行排序,得到变量toSign;
(5)将数据使用MD5加密,由于我使用的是APIFOX,加密前需要调取crypto-js库;
在库里寻找MD5的加密算法语句如下

(1)将加密赋值给变量datatable,由于我们用户认证没有需要加密的参数,我们可以设置为空对象{}
(2)将对象转化为JSON字符串;
(3)对加密参数,appSecret,sdkppillowserver进行加密
(1)将加密数据,签名计算,时间戳添加到请求体中,并更新请求体.
以上就是请求体中签名计算和数据加密
响应后置:我们需要校验服务器返回的签名是否一致,并且对加密的数据进行破解
一:校验返回的签名数据是否一致
(1)设置变量获取响应体信息
(2)计算签名
(3)断言签名是否与响应数据一致
(4)对响应数据的元素data进行解密
二:对响应数据的元素data进行解密
如何利用Apifox通过签名计算及数据加解密进行用户认证接口测试?的更多相关文章
- ASP.NET Core 6框架揭秘实例演示[19]:数据加解密与哈希
数据保护(Data Protection)框架旨在解决数据在传输与持久化存储过程中的一致性(Integrity)和机密性(confidentiality)问题,前者用于检验接收到的数据是否经过篡改,后 ...
- T-SQL问题解决集锦——数据加解密(2)
原文:T-SQL问题解决集锦--数据加解密(2) 问题三.如何让指定用户可以对数据表进行Truncate操作? Truncate在对大表全删除操作时,会明显比Delete语句更快更有效,但是因为它不需 ...
- T-SQL问题解决集锦——数据加解密
原文:T-SQL问题解决集锦--数据加解密 以下代码已经在SQLServer2008上的示例数据库测试通过 问题一:如何为数据进行加密与解密,避免使用者窃取机密数据? 对于一些敏感数据,如密码.卡号, ...
- shiro框架学习-6-Shiro内置的Filter过滤器及数据加解密
1. shiro的核心过滤器定义在枚举类DefaultFilter 中,一共有11个 ,配置哪个路径对应哪个拦截器进行处理 // // Source code recreated from a .c ...
- php利用自定义key,对数据加解密的方法
客户端和服务端通信时,有个场景很常见,通过一个id作为url参数来回传递.假设现在业务上只有这个id标识,那么需要稍微安全一点的通信,对这个id进行加密传输,到服务端再进行解密.这里需要一个服务端进行 ...
- java基础/数据加解密(Mooc)
一.消息摘要算法 常用摘要算法: 以下 (HEX)内容:bc指Bouncy Castle | cc指:Apache commons Codec 1.消息摘要算法MD5及MD族(MD2,MD4) 消 ...
- 个人永久性免费-Excel催化剂功能第62波-单元格区域内数据加解密处理,最有效地保护数据方式
Excel的数据保护能力有限,诸如之前提及过的工作表保护.工作薄保护等,都是十分微弱的保护措施,而对于强保护的工作薄打开密码来说,它像是个总开关一样,要么全不能看,要么就全看到.有这样的场景需求,一份 ...
- 利用BBRSACryptor实现iOS端的RSA加解密
背景 RSA这种非对称加密被广泛的运用于网络数据的传输,但其在iOS上很难直接实现,BBRSACryptor框架通过移植openssl实现了iOS端的RSA,本文将介绍如何使用BBRSACryptor ...
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
当前使用的是Linux系统,已经按装使用OpenSSL软件包, 一.使用OpenSSL来生成私钥和公钥 1.执行命令openssl version -a 验证机器上已经安装openssl 1 open ...
- Java中使用OpenSSL生成公钥私钥进行数据加解密
当前使用的是Linux系统,已经安装OpenSSL软件包. 一.使用OpenSSL来生成私钥和公钥1.执行命令openssl version -a 验证机器上已经安装openssl $ openssl ...
随机推荐
- Java基础——(综合练习)选手打分
package com.zhao.test; import java.util.Scanner; public class Test17 { /* 需求 : 在唱歌比赛中,有6名评委给选手打分,分数范 ...
- 044_Schedule Job 间隔时间自动执行
需求:系统上的标准功能是能够设置间隔一天的执行,或者是写完代码着急测试我们写个5分钟后执行的: 但是遇到要求没间隔一小时或者十分钟执行,该怎么处理呢? global class **_Retrieve ...
- labwindows/cvi activex 控件无法正常使用问题解决
在进行labwindows/cvi编程时,想使用时间控件,需要在界面上点击右键的activex选项中选择Microsoft Data and Time picker control6.0(SP4).如 ...
- 生产者消费者demo
using System; using System.Collections.Generic; using System.Threading; namespace 生产者消费者 { class Pro ...
- 一个分布式websocket的实现
前情提要 之前我的项目里有一个合作编辑的功能,多个客户端的用户可以合作写一篇文章的不同部分,而且合作的任意作者互相还可以进行文字通讯.这种需求肯定是首选websocket了,因为服务器需要主动给客户端 ...
- echarts 画图报错 this.dom.getContext is not a function
我给 <el-card>绑定了ref,利用$refs获取 echarts实例 const echarts1 = echarts.init(this.$refs.echarts1); 结果 ...
- C# 数据结构和算法-数组队列
队列: 队列是一个有序列表,遵循先入先出原则,可以用数组或链表实现 使用场景 用于排队,按顺序执行 public static void Main(string[] args) { ArrayQueu ...
- CF527D 题解
题意:数轴上有 \(n\) 个点,第 \(i\) 个点的坐标为 \(x_i\),权值为 \(w_i\).两个点 \(i,j\) 之间存在一条边当且仅当 \(abs(x_i-x_j)\geq w_i+w ...
- C#下解析、生成JAVA的RSA密钥、公钥
1.从 https://www.nuget.org/packages/BouncyCastle/下载对应的nupkg包,放到本地一个文件夹中 2.打开VS2010,工具->NuGet程序包管理器 ...
- train_data
for images, labels in train_data: for images, labels in train_data: img = images[0] img = img.numpy( ...