在工作中,有时候我们会遇到登录密码加密的接口,有用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包,如下:

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

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

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

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

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

最后做一下步骤总结:

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

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

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

aes 加密_Jmeter处理AES加密接口相关推荐

  1. springboot+vue接口加密:RSA+AES

    1. 整体预览 整体思想为: 先使用AES对数据进行加密,再使用RSA对AES密钥进行加密. 至于为什么要使用这种方式呢?总结起来大致就是又安全速度又快. 1. RSA算法复杂,比较耗时,但比较安全 ...

  2. Linux加密框架crypto AES代码相关

    例子 aes_generic.c - crypto/aes_generic.c - Linux source code (v5.15.11) - Bootlin static struct crypt ...

  3. java aes 模式_Java实现多种加密模式的AES算法-总有一种你用的着!

    前言 对于AES算法,相信很多程序员小伙伴都听过.用过,其原理本文就不介绍了,而是讲讲在实际项目中的应用.前几天,项目需要跟乙方接口对接,乙方提供加密后的信息串,而我这边负责对加密串进行解密.其中加解 ...

  4. java实现多种加密模式的AES算法-总有一种你用的着

    对于AES算法,相信很多程序员小伙伴都听过.用过,其原理本文就不介绍了,而是讲讲在实际项目中的应用.前几天,项目需要跟乙方接口对接,乙方提供加密后的二维码信息串,而我这边负责对加密串进行解密.其中加解 ...

  5. 浅谈客户端与服务端的加密通讯(HTTPS/AES/RSA/RequestBodyAdviceAdapter/ResponseBodyAdvice)

    目录 前言 HTTPS与SSL证书 AES对称加密 RSA非对称加密 AES + RSA 组合加密 服务端请求参数解密拦截器RequestBodyAdviceAdapter 服务端返回参数加密拦截器R ...

  6. 0宽字符加密_前端AES加密方式分析,及其python实现

    在前端常见的加密方式中AES很少使用,因为相对于非对称的RSA安全性很低,AES是典型的对称加密,密钥就在前端源码里. 案列网站是http://ewt360.com,一个并不复杂的网站,首先抓个包看看 ...

  7. [crypto]-53-openssl命令行的使用(aes/rsa签名校验/rsa加密解密/hmac)

    常用技巧 如何编写一个二进制规律性的文件, 比如你可以编写一个"0123456789abcdef"的文本文件,记得删除换行符然后用ultraedit打开,ctrl+H就可以看到二进 ...

  8. python aes加密 cbc_Python实现AES的CBC模式加密和解密过程详解 和 chr() 函数 和 s[a:b:c] 和函数lambda...

    1.chr()函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 2.s[a:b:c] s=(1,2,3,4,5) 1>. s[a]下标访 ...

  9. DES加密解密与AES加密解密

    × 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...

最新文章

  1. LeetCode简单题之赎金信
  2. 目录 文件 链接管理命令总结
  3. SQL 进阶技巧(上)
  4. Linux学习(十三)---搭建JavaEE环境
  5. 常用SQL语句和HQL语句写法
  6. gdb调试时查看内存
  7. 正则表达式在iOS中的运用
  8. div旋转45度_一看就会,一做不废的旋转楼梯建模
  9. 2021年Java后端开发学习路线(建议收藏!)
  10. MAC中配置SDK环境变量
  11. mermaid流程图语法教程
  12. 猎豹傅盛:升维思考,降维攻击!(深度好文)
  13. Ubuntu出现System policy prevents modification of network settings for all users该怎么解决
  14. 手机充电器的D+,D-电压
  15. 关于Android模块化我有一些话不知当讲不当讲
  16. 互联网常见通用的运营数据指标
  17. python class tynu()_Pisanie pierwszej aplikacji Django, część 4.
  18. su鉴定故障和su拒绝权限
  19. Typora 自定义快捷键
  20. 欧几里德距离的相似度 —— Euclidean Distance-based Similarity

热门文章

  1. Demuxed:编解码器和压缩的未来
  2. IPv6下CDN和网络的最佳实践
  3. 专访腾讯产品总监邬沛君:TStack斩获OSCAR技术创新奖的背后
  4. dlopen dlsym dlclose加载动态链接库
  5. C++:undefined reference to vtable 原因与解决办法 [转]
  6. Docker swarm mode
  7. centos下安装ruby,删除ruby
  8. Vue009_过渡动画
  9. Node.js、Npm、MVVM模式、idea的vue集成
  10. leetcode 467. Unique Substrings in Wraparound String | 467. 环绕字符串中唯一的子字符串(动态规划)