postman对接口进行加密解密——实战案例

2024-01-28 06:20

本文主要是介绍postman对接口进行加密解密——实战案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

我们在使用postman进行接口测试的时候,尤其是对整个项目主流程的接口化测试,往往会涉及到接口的加密解密。如:
在登录的时候,我们可能需要针对密码进行加密传输才能成功调用接口,那么这种情况该如何处理呢?

确认加解密方式

加解密的方式可能是前端进行的加密处理,也可能是后端进行的加密处理。作为测试,一般需求跟研发人员确定加密跟解密的方式方法是什么,才能针对接口进行处理。因此这部分需要跟研发进行沟通了解。

这里简要介绍一下:

前端加密

前端加密处理是指在客户端(通常是浏览器)中进行加密操作。主要目的是保护敏感数据在传输过程中的安全性,以防止被中间人攻击或窃取。一些常见的前端加密处理方式包括:

  1. SSL/TLS:使用 HTTPS 协议进行通信,通过使用公钥加密来保护数据的传输安全性。
  2. 加密算法:使用 JavaScript 加密库对数据进行加密处理,如 AES、RSA 等常见的加密算法。

前端加密处理的优点是可以在客户端即时进行加密,减少了服务器的负担,并且能够提供较高的实时性和用户体验。但缺点是由于加密操作在客户端进行,因此加密密钥等信息也暴露在客户端环境中,容易受到攻击。

后端加密

后端加密处理是指在服务器端进行加密操作。主要目的是保护存储在服务器上的敏感数据,在数据库中存储加密后的数据。一些常见的后端加密处理方式包括:

  1. 数据库加密:使用数据库提供的加密功能对敏感数据进行加密存储,如 MySQL 的加密函数或者专门的数据库加密模块。
  2. 加密传输:在前后端通信时,使用服务器端生成的密钥对数据进行加密,确保数据在传输过程中的安全性。

后端加密处理的优点是可以提供更高的安全性,因为加密操作不会暴露在客户端环境中,密钥等信息也被保存在服务器端。但缺点是需要在服务器端进行加密操作,增加了服务器的负担,并且实时性和用户体验可能较前端加密处理差一些。

postman进行加解密

在postman中,我们使用的语言是JavaScript,在该页面下
image.png

实战案例

在做接口化测试的时候,有这样的场景,需要针对传入的密码进行加密处理,因此需要了解对应的加解密方法,前端还是后端。

跟研发人员对好之后,就可以进行着手处理了。

我这里使用的是 Node.js 中的 crypto-js 模块来实现 AES 加密,并且最后以Base64编码的形式返回。

const crypto_js = require("crypto-js"); // 通过require("crypto-js") 引入 crypto-js 模块const key = crypto_js.enc.Utf8.parse("deeertg34kuysas");  //十六位十六进制数作为密钥
const iv = crypto_js.enc.Utf8.parse('id2zhEsN145ertjha');   //十六位十六进制数作为密钥偏移量//加密方法
function Encrypt(word) {let srcs = crypto_js.enc.Utf8.parse(word);// let encrypted = crypto_js.AES.encrypt(srcs, key, { iv: iv, mode: crypto_js.mode.CBC, padding: crypto_js.pad.Pkcs7 });let encrypted = crypto_js.AES.encrypt(srcs, key, { iv });return crypto_js.enc.Base64.stringify(encrypted.ciphertext);
}var src_data = pm.environment.get("starrocks_pwd");
console.log('Encrypt mysql_password before: ', src_data)var src_data_en =  Encrypt(src_data)
pm.environment.set("starrocks_pwd_after", src_data_en);
console.log('Encrypt starrocks_pwd_after: ', src_data_en)
console.log('Encrypt starrocks_pwd_after : ', pm.environment.get("starrocks_pwd_after"))

如下图
image.png

crypto-js 简介

crypto-js 是一个 JavaScript 加密算法库,提供了多种常见的加密算法,包括对称加密(如 AES、DES)、哈希函数(如 MD5、SHA)和消息认证码(如 HMAC)等。
使用 crypto-js 可以在前端和后端环境中进行数据的加密和解密操作。它支持多种编码格式,包括 UTF-8、Base64 等。
该库的主要特点包括:

  1. 提供了简单易用的接口:crypto-js 提供了一套简单易用的 API,使得在 JavaScript 中使用各种加密算法变得简单和方便。
  2. 支持多种加密算法:crypto-js 支持多种常见的加密算法,如 AES、DES、Triple DES 等。可以根据需求选择合适的算法进行加密和解密操作。
  3. 支持多种编码格式:crypto-js 支持多种编码格式的输入和输出,包括 UTF-8、Base64、Hex 等。这样可以方便地处理不同格式的数据。
  4. 跨平台兼容性:crypto-js 可以在前端和后端环境中使用,适用于浏览器端和 Node.js 等服务器端环境。这样可以在不同的平台上实现相同的加密算法。

使用 crypto-js 可以实现各种加密场景,比如密码存储、数据传输安全等。需要注意的是,为了确保数据的安全性,除了选择合适的加密算法,还需要正确管理密钥和其他安全措施。

这篇关于postman对接口进行加密解密——实战案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652732

相关文章

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd