接口测试平台代码实现151:加密算法后台函数实现

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

本节我们准备搞定这个加密的生成算法。

   

   好的,在这大家也跟了150期了,对于这个算法的实现,能否知道从哪下手呢?觉得难么?


   如果觉得难,那么此时要怎么办?能帮助你的就是 热饭的《测试开发方法论》

   方法论迟早会成书,目前已经在设计中了,到时候打赏过的同学都可以成本价拿到书,排名前100的同学都会免费收到,而且博主亲自签名款哦~

   

   根据《测试开发方法论》中所说:

   当想要做一个工具方法函数的时候,通过固定的步骤来设计就会很简单且简单实现:

   1. 这个函数要写在哪?

    写在views.py中,游离在外,方便调用。


   2. 这个函数要干什么?

   生成最终的sign或者其他加密字段,并返回拼接好后的url和body!


   3. 这个函数需要什么上游数据?

   需要数据库拿出来的url和body,然后是项目id,根据项目id来获取到加密表达式和加密位置。


   4.这个函数要怎么调用?

   各个上游函数,通过a,b = func(a,b,c) 来调用。这几个变量大家应该知道是什么了,就是url,body,project_id。


   5.这个函数内部要怎么实现?

   首先我拿到的有完整的url+body, 然后还有加密表达式,那么完全可以用Python代码来计算出最终的变量。然后根据加密插入位置 来决定给url还是body加入,最后把拼接完的url和body送返还给调用者即可。


   6.这个函数要求什么性能么?

当然有要求,这个函数在所有需要加密的请求中均会运行一次,而且如果遇到非常长的url和body,并且加密过程很繁琐的情况下,如果算法不够智能,则会严重拖慢使用体验。不过我们当前要解决的事完成实现,而非优化。关于什么时候优化,优化的目标,程度和手段,同样可以在《测试开发方法论》中找到答案。

   

   7.兼容性稳定性健壮性等等

这个优先级要高,作为一个被调用的桩函数,它接收到的数据可能是多种多样的,那么这里首先要保证的就是不能报错,然后是想尽办法适配各种类型的,比如url 有的人写的后面没有参数,有的有参数,有的后面是?有的后面是/或.com或其他字符串,那我们进行拼接新的加密字段的时候,就要针对这些情况做出不同的对应方案才可以让上游函数放心调用。


然后继续进行下列思考:


因为函数比较复杂,所以我们准备先去草纸-test.py中,去实现,这样多轮调试可以很快节省成本,等实现后,再复制到项目views.py中即可,这也算是个快速开发的小窍门,同样可在《测试开发方法论》中找到。


不过我们这里仍然漏掉了一个重要参数,那就是body的类型,在我们的body中有 none,form-data,x-www.. 和 纯文本格式的 raw-json , raw-text 甚至url,js等等类型,那么加密字段要想插入它们的写法必然也是不同的,甚至提取的时候就不同,此时我们应该传入请求体类型。


那么对于一些无法提取和无法插入的请求体我们要怎么办呢?答案是不办!直接返回无法插入就可以了,能这么操作的用户估计是不会用,你一个加密字段,你往一段xml里插什么插,你是接口测试人员么?当然我们不用真的嘲讽,只需要不执行即可。

相关文章
|
2月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
141 67
|
5月前
|
SQL 安全 测试技术
网络安全的屏障与钥匙:漏洞防护与加密技术解析软件测试的艺术:探索性测试的力量
【8月更文挑战第27天】在数字时代的海洋中,网络安全是保护我们数据资产的灯塔和堤坝。本文将深入浅出地探讨网络安全领域的关键要素——安全漏洞、加密技术以及不可或缺的安全意识。通过实际案例分析,我们将了解如何识别和修补潜在的安全漏洞,掌握现代加密技术的工作原理,并培养起一道坚固的安全防线。文章旨在为读者提供实用的知识和技能,以便在日益复杂的网络环境中保持警惕,确保个人及组织信息的安全。
|
3月前
|
存储 算法 安全
SpringBoot 接口加密解密实现
【10月更文挑战第18天】
|
2月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
85 3
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
151 1
|
3月前
|
存储 安全 Java
|
3月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
82 2
|
2月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
73 0
|
4月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
43 3