API接口加密,解决自动化中登录问题
一、加密方式
- AES:对称加密,快
- RAS:非对称加密,慢
- AES+RAS:安全+高效
加密过程:字符串=====》字节流====》加密的字节流(算法),解密有可能出现乱码,所以不能直接转成字符串,一般采用base64,base64的结果一定是ASCII范围内的字节,所以一定可以转成字符串
字符串转成字节流:encode
字节流转成字符串:decode
二、接口加密
请求:加密,响应:解密
- 加密API请求错误
- 格式不正确
- 加密格式不正确
- 请求参数值不正确
三、第三方库实现加密
- 安装pycryptodome:pip3 install pycryptodome
四、加密方式
以下加密信息,测试端和接口端必须一致
- 加密算法
- 密钥
- 加密模式
- IV变量
五、加密代码
加密算法
import base64
import json
from Crypto.Cipher import AES
import base64#AEX加密
key = b"sanmu's aes_key!" #16位字节作为密钥
mode=AES.MODE_EAX #EAX加密模式
IV=b"0"*16class Encoder:@staticmethoddef encrypt(data:dict)->str:"""AES加密1.接收字典2.字典转字符串3.字符串转字节4.字节进行加密5.对加密结果进行bas646.编码结果转字符串:param data::return:"""encoder = AES.new(key, AES.MODE_EAX,nonce=IV)content_str=json.dumps(data)content_byte=content_str.encode('utf-8')content_en = encoder.encrypt_and_digest(content_byte)return base64.b64encode(content_en).decode("utf-8")@staticmethoddef decrypt(data:str)->dict:"""AES解密1.接收字符串2.字符串转字节3.base64解码4.AES解密5.解密结果转字符串6.字符串转字典:param data::return:"""encoder = AES.new(key, AES.MODE_EAX,nonce=IV)content_byte=base64.b64decode(data)content_de=encoder.decrypt(content_byte)content_str=content_de.decode("utf-8")content=json.loads(content_str)return contenttest_api.py
import requests
from libs import Encoderlogin_info={'username':'sanmu','password':'123456'
}data={"content":Encoder.encrypt(login_info), #内容是AES加密的,是字符串"cipher":"AES"
}print(data)
'''
url='https://api.tttt.one/rest-v1/encrypt/with_json'
resp=requests.post(url,json=data)
print(resp.json())
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:
API接口加密,解决自动化中登录问题
一、加密方式 AES:对称加密,快RAS:非对称加密,慢AESRAS:安全高效 加密过程:字符串》字节流》加密的字节流(算法),解密有可能出现乱码,所以不能直接转成字符…...
COCOS2DX3.17.2 Android升级targetSDK30问题解决方案
一、luajit不兼容问题 不兼容版本:【2.1.0-bate2、2.1.0-bate3都存在异常】 出问题系统:Android11;Android10的系统部分机型有问题,部分机型正常 异常点1:c调用lua接口,pushObjiect的时候crash 异常点2…...
HarmonyOS鸿蒙原生应用开发设计- 隐私声明
HarmonyOS设计文档中,为大家提供了独特的隐私声明,开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容,既可以符合HarmonyOS原生应用的开发上架运营规范,又可以防止使用别人的内容产生的侵权意外情况等ÿ…...
【面试精选】00后卷王带你三天刷完软件测试面试八股文
前言 本人普通本科计算机专业,做测试也有3年的时间了,讲下我的经历,我刚毕业就进了一个小自研薪资还不错,有10.5k(个人觉得我很优秀),在里面呆了两年,积累了一些的经验和技能&#…...
k-means算法c++实现
计算数据集中的元素与各个簇的中心的距离,将它赋给最近的簇,然后重新计算每个簇的平均值,再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值,即划分为几个簇。 vector<int> datoclu(dat…...
oracle查询哪些用户下有表
oracle查询哪些用户下有表,排除系统用户。 在实际业务中 oracle数据库中创建了很多的用户 但实际都是无表的,利用SQL语句将这些有表的用户查询出来 并显示用户名、表名、创建表的时间等信息。 select * from dba_objects where object_type = TABLE and owner not in ( AN…...
机器人连杆惯量参数辨识(估计)
杆的转动惯量的计算公式是Imr^2。在经典力学中,转动惯量(又称质量惯性矩,简称惯矩)通常以I 或J表示,SI 单位为 kgm。对于一个质点,I mr,其中 m 是其质量,r 是质点和转轴的垂直距离。…...
一座 “数智桥梁”,华为助力“天堑变通途”
《水调歌头游泳》中的一句话,“一桥飞架南北,天堑变通途”,广为人们所熟知,其中展现出的,是中国人对美好出行的无限向往。 天堑变通途从来不易。 中国是当今世界上交通运输最繁忙、最快捷的国家之一,交通行…...
C#知识总结 基础篇(上)
本篇内容参考C#图解教程 本篇内容偏向基础,适合0基础的朋友快速上手,也适合有一定C语言(或其他语言如C,java)基础的人快速上手C#。同时适合unity引擎的初学者,更加详细的了解C#语言。 本文内容基本涵盖C#基础内容&am…...
照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版 2024年最新中文版下载
照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版是一款功能强大的专业级图像编辑软件,由Serif公司开发。它提供了广泛的工具和功能,适用于摄影师、设计师和艺术家。 照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版软件介绍 TIFF&#…...
TPAMI 2023 | Temporal Perceiver:通用时序边界检测方法
本文介绍一下今年我们组被T-PAMI 2023收录的时序边界检测工作 Temporal Perceiver: A General Architecture for Arbitrary Boundary Detection。 论文名称: Temporal Perceiver: A General Architecture for Arbitrary Boundary Detection 论文链接&…...
Unity-UV展开工具
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;public class unfold : EditorWindow {[MenuItem("Gq_Tools/展开")]public static void ShowWin(){EditorWindow.CreateInstance<unfold>().Show();}priva…...
springboot actuator jvm监控丢失
1、背景 系统接入了监控prometheus和grafana,某天grafana突然发现只有几台机器可以看到指标。 随便点击一个地址http://192.168.0.76:8681/lms/actuator/prometheus访问指标,发现JVM相关指标全部丢失 2、解决方法 从网上查找相关资料,逐一…...
UDP服务端和客户端通信代码开发流程
一、UDP通信 TCP:传输控制协议,面向连接的,稳定的,可靠的,安全的数据集流传递 稳定和可靠:丢包重传 数据有序:序号和确认序号 流量控制:稳定窗口 UDP:用户数据报协议 面向无连接的,不稳定的,不可靠,不安…...
数据库实验:SQL的数据定义与单表查询
目录 实验目的实验内容实验要求实验过程实验步骤实例代码结果示意 数据库的实验,对关系型数据库MySQL进行一些实际的操作 实验目的 (1) 掌握DBMS的数据定义功能 (2) 掌握SQL语言的数据定义语句 (3) 掌握RDBMS的数据单表查询功能 (4) 掌握SQL语言的数据单表查询语句…...
P3398 仓鼠找 sugar
Portal. LCA。 询问树上两条路径是否有交点。 画图发现无非两种情况: 发现一条路径的起点和终点的 LCA 经过另一条路径,是两路径相交的充要条件。 考虑如何判断这个 LCA 在不在路径上。若 d ( s , LCA ) d ( LCA , t ) d ( s , t ) d(s,\text{LCA…...
C# 发送邮件
1.安装 NuGet 包 2.代码如下 SendMailUtil using MimeKit; using Srm.CMER.Application.Contracts.CmerInfo; namespace Srm.Mail { public class SendMailUtil { public async static Task<string> SendEmail(SendEmialDto sendEmialDto,List<strin…...
Zeal下载文档慢的问题
1. 安装Zeal 官方下载网站: https://zealdocs.org/ 2. 安装文档(在线安装方式)(下载速度非常慢) Tools - Docsets Available中下载安装对应的文档 3. 安装文档(离线安装方式) ①下载文档…...
HR模块开发(1):简单的开发流程和注意事项
HR模块开发 一、模块概述 人力资源管理解决方案关注3个领域:每位雇员都发展和维护着‘公司内’和‘公司外’的种种‘关系’。运用科技,强化这些关系,可以提高忠诚度和生产力,公司整体得到商业价值。 员工关系管理员工职业生命周期管理员工事务处理管理HR模块的基本知识和构…...
创建Vue实例
我们已经知道了Vue框架可以 基于数据帮助我们渲染出用户界面,那应该怎么做呢? 核心步骤(4步): 准备容器 引包(官网) — 开发版本/生产版本 创建Vue实例 new Vue() 指定配置项,渲…...
无GPU也能用:OpenClaw+Qwen3.5-4B-Claude-GGUF低配设备实测
无GPU也能用:OpenClawQwen3.5-4B-Claude-GGUF低配设备实测 1. 为什么要在低配设备上折腾AI? 去年我入手了一台二手MacBook Air,4GB内存的配置在当下看来确实有些捉襟见肘。但作为一名技术爱好者,我始终对本地运行大模型充满好奇…...
10倍加速PDF转HTML:pdf2htmlEX终极优化指南
10倍加速PDF转HTML:pdf2htmlEX终极优化指南 【免费下载链接】pdf2htmlEX Convert PDF to HTML without losing text or format. 项目地址: https://gitcode.com/gh_mirrors/pd/pdf2htmlEX pdf2htmlEX是一款能够将PDF文件转换为HTML格式的强大工具,…...
Meta Manus vs OpenClaw:2026年AI Agent之战,谁才是你的最佳选择?
## 引言2026年AI Agent市场迎来爆发式增长,预计到2034年将达到1400亿美元规模。在这个赛道上,Meta的Manus和开源项目OpenClaw成为最受关注的两大竞争者。本文将深入分析两者的差异,帮助你做出最佳选择。## Meta Manus:巨头的入场#…...
SDMatte代码解读:关键模块架构分析与核心算法实现
SDMatte代码解读:关键模块架构分析与核心算法实现 1. 项目背景与核心价值 SDMatte是一个开源的图像抠图工具,基于深度学习技术实现高质量的自动背景分离。相比传统方法,它能够更准确地处理复杂边缘(如头发、透明材质等ÿ…...
旧Mac升级终极指南:用OpenCore Legacy Patcher解锁新系统完整方案
旧Mac升级终极指南:用OpenCore Legacy Patcher解锁新系统完整方案 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的老款Mac提示"此设备不支持最新ma…...
手把手教你用STM32H7S7实现高速USB复合设备(CDC+MSC):从CubeMX配置到性能优化
STM32H7高速USB复合设备开发实战:CDCMSC架构设计与性能调优 在嵌入式系统开发中,USB复合设备技术正成为连接智能硬件与主机系统的关键桥梁。STM32H7系列凭借其Cortex-M7内核和480Mbps的高速USB外设,为开发者提供了实现高性能复合设备的理想平…...
WeKnora部署避坑指南:解决端口占用、模型加载等常见问题
WeKnora部署避坑指南:解决端口占用、模型加载等常见问题 1. 为什么需要这份避坑指南? WeKnora作为一款开箱即用的知识库问答系统,虽然设计上追求极简部署,但在实际运行中仍然可能遇到一些技术问题。这些问题往往不是产品本身的缺…...
GME多模态向量-Qwen2-VL-2B实操手册:日志监控、错误追踪与WebUI响应延迟分析
GME多模态向量-Qwen2-VL-2B实操手册:日志监控、错误追踪与WebUI响应延迟分析 你是不是也遇到过这种情况:部署了一个看起来很酷的AI模型服务,用起来效果不错,但一旦出问题就两眼一抹黑?日志在哪看?为什么响…...
三维任意形状随机骨料matlab生成:基于映射网格的属性赋予方法
三维任意形状随机骨料matlab生成,基于映射网格(背景网格法)进行骨料、砂浆、界面属性的赋予。在混凝土材料细观建模中,生成真实的三维骨料结构是个技术活。今天咱们就来聊聊如何用Matlab造出形状各异的随机骨料,再通过…...
Eino:Agent的LLM抽象
拨开迷雾看本质:从零推导 ChatModelAgent(模型适配层与 Agent 运行时) 在 react.md 里看到的是 “ReAct 作为范式” 的推导;而本篇把视角切到 chatmodel.go 作为工程实现:它不只是“为了 ReAct 画图”,更是…...

