当前位置: 首页 > news >正文

API接口加密,解决自动化中登录问题

一、加密方式

  • AES:对称加密,快
  • RAS:非对称加密,慢
  • AES+RAS:安全+高效

加密过程:字符串=====》字节流====》加密的字节流(算法),解密有可能出现乱码,所以不能直接转成字符串,一般采用base64,base64的结果一定是ASCII范围内的字节,所以一定可以转成字符串

字符串转成字节流:encode

字节流转成字符串:decode

二、接口加密

请求:加密,响应:解密

  1. 加密API请求错误
  • 格式不正确
  • 加密格式不正确
  • 请求参数值不正确

三、第三方库实现加密

  1. 安装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原生应用的开发上架运营规范,又可以防止使用别人的内容产生的侵权意外情况等&#xff…...

【面试精选】00后卷王带你三天刷完软件测试面试八股文

前言 本人普通本科计算机专业,做测试也有3年的时间了,讲下我的经历,我刚毕业就进了一个小自研薪资还不错,有10.5k(个人觉得我很优秀),在里面呆了两年,积累了一些的经验和技能&#…...

k-means算法c++实现

计算数据集中的元素与各个簇的中心的距离&#xff0c;将它赋给最近的簇&#xff0c;然后重新计算每个簇的平均值&#xff0c;再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值&#xff0c;即划分为几个簇。 vector<int> datoclu(dat…...

oracle查询哪些用户下有表

oracle查询哪些用户下有表,排除系统用户。 在实际业务中 oracle数据库中创建了很多的用户 但实际都是无表的,利用SQL语句将这些有表的用户查询出来 并显示用户名、表名、创建表的时间等信息。 select * from dba_objects where object_type = TABLE and owner not in ( AN…...

机器人连杆惯量参数辨识(估计)

杆的转动惯量的计算公式是Imr^2。在经典力学中&#xff0c;转动惯量&#xff08;又称质量惯性矩&#xff0c;简称惯矩&#xff09;通常以I 或J表示&#xff0c;SI 单位为 kgm。对于一个质点&#xff0c;I mr&#xff0c;其中 m 是其质量&#xff0c;r 是质点和转轴的垂直距离。…...

一座 “数智桥梁”,华为助力“天堑变通途”

《水调歌头游泳》中的一句话&#xff0c;“一桥飞架南北&#xff0c;天堑变通途”&#xff0c;广为人们所熟知&#xff0c;其中展现出的&#xff0c;是中国人对美好出行的无限向往。 天堑变通途从来不易。 中国是当今世界上交通运输最繁忙、最快捷的国家之一&#xff0c;交通行…...

C#知识总结 基础篇(上)

本篇内容参考C#图解教程 本篇内容偏向基础&#xff0c;适合0基础的朋友快速上手&#xff0c;也适合有一定C语言&#xff08;或其他语言如C,java&#xff09;基础的人快速上手C#。同时适合unity引擎的初学者&#xff0c;更加详细的了解C#语言。 本文内容基本涵盖C#基础内容&am…...

照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版 2024年最新中文版下载

照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版是一款功能强大的专业级图像编辑软件&#xff0c;由Serif公司开发。它提供了广泛的工具和功能&#xff0c;适用于摄影师、设计师和艺术家。 照片编辑软件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。​​​​​​​ 论文名称&#xff1a; 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&#xff0c;某天grafana突然发现只有几台机器可以看到指标。 随便点击一个地址http://192.168.0.76:8681/lms/actuator/prometheus访问指标&#xff0c;发现JVM相关指标全部丢失 2、解决方法 从网上查找相关资料&#xff0c;逐一…...

UDP服务端和客户端通信代码开发流程

一、UDP通信 TCP&#xff1a;传输控制协议&#xff0c;面向连接的&#xff0c;稳定的&#xff0c;可靠的&#xff0c;安全的数据集流传递 稳定和可靠:丢包重传 数据有序:序号和确认序号 流量控制:稳定窗口 UDP&#xff1a;用户数据报协议 面向无连接的,不稳定的,不可靠,不安…...

数据库实验:SQL的数据定义与单表查询

目录 实验目的实验内容实验要求实验过程实验步骤实例代码结果示意 数据库的实验&#xff0c;对关系型数据库MySQL进行一些实际的操作 实验目的 (1) 掌握DBMS的数据定义功能 (2) 掌握SQL语言的数据定义语句 (3) 掌握RDBMS的数据单表查询功能 (4) 掌握SQL语言的数据单表查询语句…...

P3398 仓鼠找 sugar

Portal. LCA。 询问树上两条路径是否有交点。 画图发现无非两种情况&#xff1a; 发现一条路径的起点和终点的 LCA 经过另一条路径&#xff0c;是两路径相交的充要条件。 考虑如何判断这个 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 官方下载网站&#xff1a; https://zealdocs.org/ 2. 安装文档&#xff08;在线安装方式&#xff09;&#xff08;下载速度非常慢&#xff09; Tools - Docsets Available中下载安装对应的文档 3. 安装文档&#xff08;离线安装方式&#xff09; ①下载文档…...

HR模块开发(1):简单的开发流程和注意事项

HR模块开发 一、模块概述 人力资源管理解决方案关注3个领域:每位雇员都发展和维护着‘公司内’和‘公司外’的种种‘关系’。运用科技,强化这些关系,可以提高忠诚度和生产力,公司整体得到商业价值。 员工关系管理员工职业生命周期管理员工事务处理管理HR模块的基本知识和构…...

创建Vue实例

我们已经知道了Vue框架可以 基于数据帮助我们渲染出用户界面&#xff0c;那应该怎么做呢&#xff1f; 核心步骤&#xff08;4步&#xff09;&#xff1a; 准备容器 引包&#xff08;官网&#xff09; — 开发版本/生产版本 创建Vue实例 new Vue() 指定配置项&#xff0c;渲…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...