zoukankan      html  css  js  c++  java
  • jmeter 压测签名算法

    概述

    接到上级通知,需要配合第三方供应商,对他们的合同签署流程进行一次压测。听起来很简单,但是中间涉及到的东西很多

    业务流程

    这个第三方的签署流程大致如下
    1.登录获取token
    2.获取当前时间戳
    3.对合同pdf进行base64转码
    4.转码过的合同写到body里
    5.根据token,时间戳,body,以及我们的私钥,通过算法生成一个sign签名
    6.sign计算之后,body里面的base64会再一次转码
    7.将token,时间戳,私钥,sign签名作为头部信息,和二次转码的body一起传参
    大致如下图

    技术难点

    1.token是动态的
    2.时间戳是动态的
    3.合同pdf转码之后太长,没有办法直接贴到jmeter的body里面,贴进去就彻底卡死
    4.由于上面的几个参数都是动态,导致生成的sign也是动态的,随时在变
    5.同一份合同只能签署一次,也就意味着如果想做压测,只能手动传不同的合同,不停地改sign

    解决方案

    写java方法,实现以下功能
    1.调接口自动获取token
    2.自动获取当前时间戳
    3.读取本地文件的转码body
    4.通过body,时间戳,token生成sign,然后将这三组参数分列存到本地文件。如果有多份pdf文件,就生成多组。如下所示

    | sign | time | body |
    | -------- | -------- |
    | 1 | 2 | 3 |

    5.jmeter做参数化,并发去读取这三行参数

    思路仅供参考

  • 相关阅读:
    Ubuntu14.04LTS 下配置Tomcat Hadoop eclipse环境
    Ubuntu14.04LTS下 JAVA+HADOOP
    windows下libnet ARP
    windows下编译配置libnet-1.2-rc3
    windows下安装配置winpcap
    python--装饰器初阶
    python--函数进阶
    python_函数基础
    python_文件操作
    python_Set(集合)
  • 原文地址:https://www.cnblogs.com/Zfc-Cjk/p/13646357.html
Copyright © 2011-2022 走看看