aes 加密_Jmeter处理AES加密接口

在工作中,有时候我们会遇到登录密码加密的接口,有用MD5加密,也有用AES加密。MD5加密一般用jmeter自带的函数助手就能完成,下面讲的是AES加密。废话不多说,直接教程。

要处理AES加密接口,首先要了解AES加密的机制。一般来说,AES加密有三个部分组成:

第一个就是加密的模式(ECB,CBC,CFB,CTP等)。

第二个就是补码方式(Pkcs5padding,Zeropadding等)。

第三个就是密钥,也就是key。

这三个部分都是开发自定义写好,我们到时候直接询问开发即可。我下面的登录登录接口采用的是AES/ECB/Zeropadding(算法/加密模式/补码方式),key是16个9。

那么如何用jmeter完成这个加密接口的请求呢?首先因为算法是开发编写的,所以我们测试人员可以先让开发提供加密写法的jar包(其实就是java代码一些类和方法),然后告诉我们使用加密的方法名是什么,最后在jmeter中导入jar包完成接口请求。

首先在打开jmeter,在测试计划内导入加密的jar包,如下:

fde353032f528a9b17e5bb2e36acdf2b.png

导入成功后,我们添加线程组,登录的请求,然后在登录的请求下添加一个前置处理器-BeanShell PreProcessor,接下来只要写几行简单的代码就可以实现加密了,如下:

92cb7bd4cfc0f88cf1a61d558404f7ee.png

在写之前了,我们先了解一下开发的jar包的方法进行了解,下图就是导入了AesUtil类(开发已经封装好了),然后使用encrypBase64方法名对明文进行加密,并传输了两个参数,一个是需要的加密明文,一个是加密的key(16个9),如下:

566abad963740f6bf254ebc5d02179ec.png

了解上图之后了,我们在BeanShell PreProcessor开始编写代码,首先导入加密的类,然后使用类方法开始加密,最后传给系统变量,如下:

3fccf8c944e7cba9d4dd9a5522369790.png

最后,我们只需要在登录请求的密码参数值,引用变量${pword}传输即可,如下:

c95d0cf093b5ff1f005aa3dcf6843360.png

最后查看结果树,加密成功,响应也正确了,如下:

159562dbcd14a5dbed5d458202d62124.png

c1967a36ff618426a5ab86ccdafc1cbf.png

最后做一下步骤总结:

  1. 找到开发要加密的jar包(不要怕直接要,他们会给的),然后在测试计划内导入jar包。

  2. 在登录的请求下添加前置处理器-BeanShell PreProcessor,编写代码:导入加密jar包的类,然后使用加密类方法对明文进行加密,最后使用vars.put()方法传递给jmeter系统变量中。

  3. 最好在登录请求内的密码参数中,值用${变量名}引用进行发送请求即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值