基于JMeter的DES加解密方法与流程

文档序号:29312785发布日期:2022-03-19 20:40阅读:737来源:国知局
基于JMeter的DES加解密方法与流程
基于jmeter的des加解密方法
技术领域
1.本技术涉及接口测试加密技术领域,尤其涉及一种基于jmeter的des加解密方法。


背景技术:

2.jmeter是apache组织开发的基于java的测试工具,可用于对软件做接口测试、数据库测试等。现有技术中在jmeter的测试过程中需要引入数据加密标准(data encryption standard,des)加密,则需要通过beanshell脚本中的java代码实现,需要测试人员对des有充分的了解并且代码能力要求也比较高。在jmeter的测试过程中进行des加密后,当测试接口的返回响应报文为密文时,可能会出现无法识别或识别困难的情况,且基于jmeter的des加密处理方式维护成本也较高,可移植性差。


技术实现要素:

3.为至少在一定程度上克服相关技术中jmeter的测试过程中进行des加密可行性差的问题,本技术提供一种基于jmeter的des加解密方法。
4.本技术的方案如下:
5.一种基于jmeter的des加解密方法,包括:
6.在jmeter测试计划下添加线程组,基于预先封装的des插件在所述线程组中新增des取样器和查看结果树插件;
7.基于所述查看结果树插件,获取所述des取样器中录入加解密编辑操作数据;
8.添加本地提取器,并基于所述本地提取器提取所述des取样器中录入的加解密编辑操作数据。
9.优选的,在本技术一种可实现的方式中,还包括:
10.引入依赖包,所述依赖包包括:jmeter测试组件模型和图形用户界面;
11.继承abstractjavasamplerclient抽象类,重写getstaticlabel设置显示名称;
12.初始化变量,并将所述abstractjavasamplerclient抽象类中的方法修改为des加密主逻辑;
13.导出修改后的所述abstractjavasamplerclient抽象类为jar包;
14.将所述jar包作为所述des插件存储到预设目录中。
15.优选的,在本技术一种可实现的方式中,所述des插件展示的图形用户界面包括多个可编辑单元格;
16.所述可编辑单元格至少包括:可编辑的加密/解密模式选择单元格、填充输入单元格、密钥输入单元格、偏移量输入单元格、输出方式选择单元格、字符集选择单元格、密文模式选择单元格和加密/解密报文输入单元格。
17.优选的,在本技术一种可实现的方式中,所述本地提取器包括:正则表达式提取器,和/或,json提取器。
18.优选的,在本技术一种可实现的方式中,所述可编辑单元格均支持jmeter自定义
变量。
19.本技术提供的技术方案可以包括以下有益效果:本技术中的基于jmeter的des加解密方法,包括:在jmeter测试计划下添加线程组,基于预先封装的des插件在线程组中新增des取样器和查看结果树插件;基于查看结果树插件,获取des取样器中录入加解密编辑操作数据;添加本地提取器,并基于本地提取器提取des取样器中录入的加解密编辑操作数据。本技术中,通过预先封装des插件,基于des插件为用户提供简单易于操作的加解密数据录入界面。用户在des取样器中进行加解密编辑操作时,通过查看结果树插件获取加解密编辑操作数据,并基于本地提取器提取des取样器中录入的加解密编辑操作数据,有效避免了因编码加密解密过程过于复杂造成的错误。且des插件维护成本低,易于推广和使用,可移植性高。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
22.图1是本技术一个实施例提供的一种基于jmeter的des加解密方法的流程示意图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
24.一种基于jmeter的des加解密方法,参照图1,包括:
25.s11:在jmeter测试计划下添加线程组,基于预先封装的des插件在线程组中新增des取样器和查看结果树插件;
26.jmeter是apache组织开发的基于java的测试工具,可用于对软件做接口测试、数据库测试等。目前的可调用的方式有md5和base64。
27.des即数据加密标准,是一种使用密钥加密的加密算法;des使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。这是一个迭代的分组密码,使用称为feistel的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。des使用16个循环,使用异或,置换,代换,移位操作四种基本运算。
28.本实施例中基于预先封装的des插件在线程组中新增des取样器和查看结果树插件。
29.封装的des插件的流程包括:
30.引入依赖包,依赖包包括:jmeter测试组件模型和图形用户界面;
31.继承abstractjavasamplerclient抽象类,重写getstaticlabel设置显示名称;
32.初始化变量,并将abstractjavasamplerclient抽象类中的方法修改为des加密主
逻辑;
33.导出修改后的abstractjavasamplerclient抽象类为jar包;
34.将jar包作为des插件存储到预设目录中。
35.预设目录为jmeter的lib\ext目录。
36.优选的,本实施例中的des取样器可以但不限于为sample取样器。jmeter的sample取样器是jmeter的核心部件,负责与被测试的应用程序交互,其他部件皆服务于取样器。
37.本实施例中的sample取样器是基于预先封装的des插件在线程组中新增的,本实施例中的sample取样器命名为des sample取样器。
38.查看结果树插件是jmeter中最常用的监听器,通过可以看到请求的发送和返回信息。
39.s12:基于查看结果树插件,获取des取样器中录入加解密编辑操作数据;
40.s13:添加本地提取器,并基于本地提取器提取des取样器中录入的加解密编辑操作数据。
41.此时添加本地提取器,本地提取器可以但不限于为正则表达式提取器或json提取器。json提取器是jmeter本身自带的的后置处理器。
42.本实施例中的基于jmeter的des加解密方法,包括:在jmeter测试计划下添加线程组,基于预先封装的des插件在线程组中新增des取样器和查看结果树插件;基于查看结果树插件,获取des取样器中录入加解密编辑操作数据;添加本地提取器,并基于本地提取器提取des取样器中录入的加解密编辑操作数据。本技术中,通过预先封装des插件,基于des插件为用户提供简单易于操作的加解密数据录入界面。用户在des取样器中进行加解密编辑操作时,通过查看结果树插件获取加解密编辑操作数据,并基于本地提取器提取des取样器中录入的加解密编辑操作数据,有效避免了因编码加密解密过程过于复杂造成的错误。且des插件维护成本低,易于推广和使用,可移植性高。
43.一些实施例中的基于jmeter的des加解密方法,des插件展示的图形用户界面包括多个可编辑单元格;
44.可编辑单元格至少包括:可编辑的加密/解密模式选择单元格、填充输入单元格、密钥输入单元格、偏移量输入单元格、输出方式选择单元格、字符集选择单元格、密文模式选择单元格和加密/解密报文输入单元格。
45.des插件向用户提供简洁易操作的图形用户界面,图形用户界面包括多个可编辑单元格,如可编辑的加密/解密模式选择单元格、填充输入单元格、密钥输入单元格、偏移量输入单元格、输出方式选择单元格、字符集选择单元格、密文模式选择单元格和加密/解密报文输入单元格。
46.本实施例中通过图形用户界面的可编辑单元格接收用户的录入的加解密数据,通过提取器提取用户录入的加解密编辑操作数据,有效避免了因编码加密解密过程过于复杂造成的错误。
47.优选的,可编辑单元格均支持jmeter自定义变量。
48.举例说明本技术中的des插件的测试执行情况:
49.使用加密、解密两个用例来阐述该插件的可行性。
50.加密模式选择cbc,填充方式选择nopadding,密钥为00000000,偏移量为
88888888,加密报文为123456,加密请求及返回报文如下:
[0051][0052]
将加密后的报文置于在des sample插件报文中,解密参数与加密保持一直,解密请求及返回报文如下:
[0053]
[0054][0055]
验证完毕。
[0056]
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0057]
需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
[0058]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0059]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0060]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0061]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0062]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0063]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0064]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1