接口测试平台代码实现148:加密算法的设计与实现

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 接口测试平台代码实现148:加密算法的设计与实现

在我们之前的章节中成功的结束了暂时的 UI美化。

   总有同学问我,饭佬,饭哥哥!  接口测试平台什么时候能结束啊?

我会坦然的回答: 结束?结束了我还水什么?结束了你在公司部署好之后吃老本么?下季度OKR怎么办?什么APP 什么系统不是天天迭代 天天有新需求 新设计,都结束了,程序员去要饭么?

   所以结束是不可能的,但是功能会逐步完善,你什么时候想用都可以下载。这个过程中我吸取了很多同学的宝贵建议,评估后进行设计实现。期盼它会越来越好,有更多的变化出现。

   它也帮助了很多很多人,有的拿到了S绩效,有的找到了高薪OFFER,这些都是事实。 这样宝贵的教程,我不会让它随便终结的。


   所以这里开启新的一大篇章: 加密算法的设计


   所谓加密,就是把一些重要敏感数据经过加密 发送给服务器。服务器再解密得到原始数据。

   这样做的目的就是防止数据中途被人拦截或伪造。

   当然 加密的算法 就是真正的秘密,也就是只有客户端和服务器 才知道的秘密。一般的加密倒过来就是解密。

   

   不同的公司 不同的组,不同的端,一般加密的算法都是不同的,所以我们这里平台的设计是,每个项目都有自己的一套加密算法。

   比如:公司要求加密策略为:要把请求URL后加入一个叫做sign的变量,它是由 url中其他所有参数的key=value,放在一起,然后通过base64/sha1等自动加密算法加密成32位的字符串,然后这个字符串再加入时间戳,成为42位的字符串,然后再用sha1加密一遍,这个结果,就是URL最后sign的值。 完整url传给服务器后,服务器第一件事就是看看这个url的参数是不是被人伪造过,如果伪造过,黑客并不知道加密策略,所以后面的sign的值进行解密后,发现并不是传过来的url的各参数key=value,那就会判定这个请求无效,给你返回个错误参数等等。


   平台要做的就是,给每个项目的一套加密算法,让使用者自行填充,我们提供一些开源加密函数的调用,比如上面例子提到的 base64和sha1。然后让用户自己写成如下格式:

  1. 选择加密的位置:URL 还是 BODY ,一般都是URL
  2. 选择加密的数据来源:也就是都需要哪些字段来作为入参变量。比如有的固定是选url或body中的 userid和token俩个变量,其他变量不考虑。那这里我们让用户写上userid,token。然后平台自动去url和body中去找这俩个字段和值
  3. 最后让用户写上 表达式:比如:
    sign=base64(base64("#token#"+"#userid#")+"#time#")

注意其中我们会把##包裹的当做变量去找到真实的值进行替换,如果用户需求是 连key一起,那么应该告诉他,写成如下这样:

sign=base64(base64("token=#token#"+"userid=#userid#")+"#time#")

而且其中引号千万不能少,我们会忠实的替换后,进行exec的执行脚本命令,如果没有引号,那么就会出现报错,把字符串当做了变量,当然就报错找不到这个变量了~


  然后在 我们的普通接口调试,异常测试,用例执行,登录态接口调试 等地方,添加是否加密的开关,让用户自己选择即可。



   这个架构设计和我们之前的项目公共变量替换类似,照样去写一个公共的替换函数,然后兼容上面四个使用地点即可。


   前端设计上,依然是点开加密算法按钮后弹出一个弹层。让用户按照上述设计实现交互。


   好了本节课的内容到此结束,我们开启了一个新的篇章哦~

image.png

相关文章
|
3天前
|
人工智能 自然语言处理 测试技术
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
Potpie.ai 是一个基于 AI 技术的开源平台,能够为代码库创建定制化的工程代理,自动化代码分析、测试和开发任务。
88 19
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
|
5天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
29 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
7天前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
50 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
13天前
|
算法 安全 大数据
【算法合规新时代】企业如何把握“清朗·网络平台算法典型问题治理”专项行动?
在数字化时代,算法推动社会发展,但也带来了信息茧房、大数据杀熟等问题。中央网信办发布《关于开展“清朗·网络平台算法典型问题治理”专项行动的通知》,针对六大算法问题进行整治,明确企业需落实算法安全主体责任,建立健全审核与管理制度,并对算法进行全面审查和备案。企业应积极自查自纠,确保算法合规透明,防范风险,迎接新机遇。
|
26天前
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
81 35
|
26天前
|
JavaScript 前端开发 Java
使用ChatGPT生成关于登录产品代码的单元测试代码
使用ChatGPT生成关于登录产品代码的单元测试代码
42 16
|
1月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
1月前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
1月前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
1月前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。

热门文章

最新文章