当前位置: 首页 > 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;渲…...

2026年AI数字人产量有上限吗?批量制作全揭秘

2026年AI数字人产量有上限吗&#xff1f;批量制作全揭秘 【导语】 用AI数字人做视频&#xff0c;一天到底能产多少条&#xff1f;是24小时不停机吗&#xff1f;批量制作有没有数量限制&#xff1f;这些问题&#xff0c;今天一次说清楚。01 AI数字人的产量到底有没有上限&#x…...

从KITTI的pkl文件到模型输入:OpenPCDet数据流水线内部运作全揭秘

从KITTI的pkl文件到模型输入&#xff1a;OpenPCDet数据流水线内部运作全揭秘 在3D目标检测领域&#xff0c;KITTI数据集作为行业标杆&#xff0c;其数据处理流程的复杂性往往成为算法落地的第一道门槛。OpenPCDet框架通过精心设计的预处理系统&#xff0c;将原始传感器数据转化…...

几十人团队跨部门共享大文件难?企业网盘选型必须知道的 3 个标准(含 5 款网盘实测)

企业 IT 和财务在做工具选型时&#xff0c;常常把网盘的“投资回报率&#xff08;ROI&#xff09;”简单等同于“多少钱买多少 GB 的存储空间”。但对于一个几十人的活跃团队来说&#xff0c;每天跨部门大文件传输引发的网络拥堵、向外部客户分享资料时的漫长等待与沟通摩擦&am…...

DDR2 / DDR3 / DDR4 颗粒信号差异对照表

DDR2 与 DDR3 颗粒引脚信号一一对应对照表信号组别DDR2 信号名DDR3 对应信号名功能一致差异说明差分时钟CK、CK#CK、CK#✅ 完全一致功能、时序定义相同&#xff0c;仅电平不同时钟使能CKECKE✅ 完全一致高低电平逻辑、工作模式控制相同硬件复位无RESET#❌ DDR2 无DDR3 新增&…...

别再乱用sudo了!麒麟KYLINOS下用ACL实现安全的精细化权限控制

麒麟KYLINOS权限管理革命&#xff1a;用ACL替代sudo的精细化控制实战 在麒麟KYLINOS操作系统中&#xff0c;许多管理员习惯性地使用sudo或简单粗暴的chmod 777来解决权限问题&#xff0c;这种"一刀切"的做法实际上为系统安全埋下了重大隐患。想象一下这样的场景&…...

Godot-MCP完整指南:如何用AI助手3倍提升游戏开发效率

Godot-MCP完整指南&#xff1a;如何用AI助手3倍提升游戏开发效率 【免费下载链接】Godot-MCP An MCP for Godot that lets you create and edit games in the Godot game engine with tools like Claude 项目地址: https://gitcode.com/gh_mirrors/god/Godot-MCP Godot-…...

电磁仿真进阶--CST空心电感建模与实测验证全流程

1. 空心电感建模与仿真的工程价值 空心电感作为高频电路中的核心无源器件&#xff0c;其性能直接影响射频前端、滤波电路等关键模块的工作表现。与传统带磁芯的电感不同&#xff0c;空心电感避免了磁饱和问题&#xff0c;但同时也面临着建模复杂度高、高频特性难以准确预测的挑…...

HPM6750 BGA196封装XPI0 CA端口缺失的CB端口启动解决方案

1. 项目概述与核心挑战最近在做一个对PCB尺寸有严格限制的嵌入式项目&#xff0c;主控芯片选用了先楫半导体的高性能MCU HPM6750。为了压缩板子面积&#xff0c;我放弃了引脚更丰富的BGA289封装&#xff08;HPM6750IVM2&#xff09;&#xff0c;转而选择了更紧凑的BGA196封装&a…...

告别本地调试:手把手教你将Flink Java应用打包成JAR并提交到YARN集群

从IDE到YARN集群&#xff1a;Flink Java应用全流程部署实战指南 当你在IntelliJ IDEA中完成了Flink流处理程序的调试&#xff0c;看着本地控制台输出的结果一切正常时&#xff0c;接下来的挑战才刚刚开始——如何将这个精心编写的程序部署到真实的分布式环境中运行&#xff1f;…...

FPGA硬解 vs 软件模拟:实测MiSTer在延迟和画质上到底强在哪?

FPGA硬解 vs 软件模拟&#xff1a;实测MiSTer在延迟和画质上到底强在哪&#xff1f; 在复古游戏的世界里&#xff0c;每一帧的延迟都可能决定《拳皇97》中一个连招的成败&#xff0c;每一像素的偏差都会影响《魂斗罗》子弹轨迹的判断。当硬核玩家们争论FPGA方案与软件模拟孰优孰…...