| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> postman中级:处理接口加解密 AES SM3 SM4 -> 正文阅读 |
|
[开发测试]postman中级:处理接口加解密 AES SM3 SM4 |
建议阅读对象:已掌握postman的基本使用、了解一丢丢 JavaScript 1. 前言自从项目的接口全部加密了之后,我愁了可长一段时间,因为之前写的接口自动化脚本跑不动了。终于坐不住了,决定必须把这个加解密问题给解决掉。抠了前端加解密的js脚本,花了1天时间总算是调试完成,如今我的自动化用例又可以跑起来了。 2. 接口加解密逻辑先举个例子说明下某个项目的接口加解密逻辑,不然后面的脚本理解上可能容易产生偏差。
加密后的入参:
加密逻辑: 解密逻辑: 3.postman处理加解密的思路//以上面例子中的加解密逻辑举例说明: 3.1 环境变量配置url:测试地址,手动配置到环境变量中,实际接口里采用动态变量形式{{url}}调用,方便切换环境。 srcsign:加密后的签名,在[Pre-request Script]中处理后自动添加到环境变量。每请求一次业务接口,就会自动更新当前值[CURRENT VALUE]。 3.2准备加解密算法文件.js1、将加解密算法封装到一个js文件夹里,提供3个函数:签名加密函数、SM4加密函数、SM4解密函数。(如果像我一样不会写代码,让前端同事帮忙写下。毕竟他们有现成的,直接整理到一个文件里就好了) 3.3请求体中引用变量将已加密的入参复制到[request body],然后将被加密的部分(srcsign、srcdata)以及token改成动态参数,引用环境变量。如下:
3.4在[Pre-request Script]中对入参进行加密
3.5 在[Tests]中对出参进行解密
4. console面板:查看打印的信息以上,加解密处理脚本就写好了,发送请求后,可以在console面板里查看我们打印出来的 [加密后的data]、[解密后的data] 等信息。大概像下面这样: 5. 优化1:将加解密算法.js内的代码设置为全局变量如上面的,已经可以达到处理解密了。但是,加解密算法是全部放进[Pre-request Script]、[Tests]中,可维护性差。 优化方案:将加解密算法设置为全局变量,在[Pre-request Script]、[Tests]去获取变量,再通过eval()函数执行相关代码。 5.1全局变量设置5.2 使用eval()函数执行
6. 优化2:将加解密算法.js文件放置到tomcat后再引用具体操作可参考:postman引入外部js文件 如有不妥,不吝赐教,感谢! |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:25:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |