接口测试平台代码实现149:加密算法的增删改查

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

我们目前要做的加密算法是一个实体,或者说一个表达式。那么它就自然而然的要考虑下面几点:

   1. 存放在哪?数据库以项目为单位

   2. 增删改查的功能实现

   3. 具体的功能实现。


   按照《测试开发方法论》中关于这种复杂功能,直接划分成一个一个的小步骤,就会变得很简单,并且增强你的自信,也方便你进行排期,风险预测等等。还没看过的小伙伴 尽快关注此公众号哦~


   那么好,我们先解决第一条。去数据库项目表增加 加密算法表达式 字段:

encryption:

image.png

打开models.py:

image.png

然后执行同步表结构的命令:

image.png

接着我们去搞第二步骤:

我们打开前端html模板:P_apis.html:

许久不开发,我们要先熟悉下 这个巨大html的当前结构:

image.png

我们现在可以不用去管这个加密的复杂逻辑,只把它当成一个字段去想,然后它的增删改查,我们都直接照抄 比如全局请求头 这种即可。


  1. 要新建一个DIV 默认隐藏,存放修改的弹层
  2. 页面底部菜单要有个按钮,点击可以显示这个弹层
  3. 弹层要有取消和保存俩个功能JS函数
  4. 弹层要有这个输入框 和相关说明


好,就这四步,是不是很简单?


开始实行:

在下面找个风水宝地,先新建个div:

image.png

然后添加展示它的函数:

image.png

然后去底部菜单,关联到这个shwo函数:

image.png

然后去完善这个div:

image.png

其中利用了bootstrap3的输入框组,可复制代码如下:

{# 加密算法#}
<div id="encryption_div" style="display: no2ne;border-radius:5px;width: 80%;background-color: white;
position: absolute;left: 10%;top: 10%;box-shadow: 4px 4px 8px grey;padding: 10px">
    <div class="btn-group" style="float: right">
        <button onclick="login_save()" type="button" class="btn btn-success">保存</button>
        <button onclick="login_close()" type="button" class="btn btn-default">取消</button>
    </div>
    <h4>请设置该项目的加密表达式:</h4>
    <p style="color: gray">选择加密的位置:URL 还是 BODY ,一般都是URL
选择加密的数据来源:也就是都需要哪些字段来作为入参变量。比如有的固定是选url或body中的 userid和token俩个变量,其他变量不考虑。那这里我们让用户写上userid,token。然后平台自动去url和body中去找这俩个字段和值
最后让用户写上 表达式:
        比如:sign=base64(base64("#token#"+"#userid#")+"#time#")
注意其中我们会把##包裹的当做变量去找到真实的值进行替换,如果用户需求是 连key一起,那么应该告诉他,写成如下这样:
sign=base64(base64("token=#token#"+"userid=#userid#")+"#time#")
而且其中引号千万不能少 !</p>
    <div class="input-group input-group-sm" style="margin-top: 5px">
        <span class="input-group-addon">选择加密字段插入位置:</span>
        <span class="input-group-addon" style="width: 3px;background-color: white">
            <label>
                <input type="radio" name="encyption_radio" value="url" id="bingfa_true" checked="checked">
                <span style="font-size: medium">url</span>
            </label>
        </span>
        <span class="input-group-addon" style="width: 3px;background-color: white">
            <label>
                <input type="radio" name="encyption_radio" value="body" id="bingfa_false">
                <span style="font-size: medium">body</span>
            </label>
        </span>
    </div>
    <div class="input-group input-group-sm" style="margin-top: 5px">
        <span class="input-group-addon">加密表达式:</span>
        <input id="encyption_input" type="text" class="form-control" style="height: 40px">
    </div>
    <br>
</div>

展示如下:

image.png

注意,目前的div的隐藏属性display 我故意写成no2ne,目的是方便调试让它一直展示,等我们完全写完后 再给改成none即可。


然后我们去搞定他的展示show函数:

image.png

如上图,注意,我们不打算在打开的时候 重新请求后端获取最新的加密表达式,而是直接在dom标签里 给这个input的value 用上进入页面时候带进来的数据:从项目中获取到的加密表达式。


有的同学会问,这样会不会打开的时候显示的并不是最新的,其实这个可能性几乎为0,只要我们把这个唯一能修改加密表达式的弹层,无论是取消还是保存,都触发整个页面的刷新,那么就会保证修改后刷新页面自动带入了最新的数据了,这个设计很讨巧。


现在可以把div的display 改回none了,试试效果,可以正常打开即是成功~


好了本期内容到此结束,下期我们搞定保存功能。

相关文章
|
10天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
40 13
|
1月前
|
存储 算法 程序员
C 语言递归算法:以简洁代码驾驭复杂逻辑
C语言递归算法简介:通过简洁的代码实现复杂的逻辑处理,递归函数自我调用解决分层问题,高效而优雅。适用于树形结构遍历、数学计算等领域。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
67 1
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
存储 缓存 算法
通过优化算法和代码结构来提升易语言程序的执行效率
通过优化算法和代码结构来提升易语言程序的执行效率
|
2月前
|
算法
分享一些提高二叉树遍历算法效率的代码示例
这只是简单的示例代码,实际应用中可能还需要根据具体需求进行更多的优化和处理。你可以根据自己的需求对代码进行修改和扩展。
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
151 1
|
2月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
73 0
|
13天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
145 80
|
1天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真