zoukankan      html  css  js  c++  java
  • 接口自动化测试-针对开放平台加密数据的处理思路

    什么不多说,看源码

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author : shenqiang
    
    # 针对平台加密数据处理啊
    '''
    接口自动化需求和问题:
    “1.对请求参数按照key-value的格式,进行参数名的ascill码排序
    - 请求参数不确定
    - 怎么排序
    2.在第一步的结果字符串尾部拼接密钥
    - name=shenqiang&age=28&address=nanjing&sex=boy+密钥
    3.排序后,对请求的参数进行MD5加密“
    - hashlib
    
    解决方法(核心:解决问题的思路)
    1.请求参数不确定--->动态参数 *args,**kwargs
    2.怎么排序--->            sorted()
    3.请求地址尾部密钥拼接可以用urllib的parse
    4.hashlib加密
    '''
    
    from urllib import parse
    import hashlib
    
    def dataSign(secure='shenqiang',*args,**kwargs):
        '''对字典的key进行排序'''
        dict2 = dict(sorted(kwargs.items(),key=lambda item:item[0]))
        '''对url进行拼接'''
        str1 = parse.urlencode(dict2)+secure
        '''进行MD5加密'''
        # 实例化MD5
        md = hashlib.md5()
        md.update(str1.encode('utf-8'))
        return md.hexdigest()
    
    '''data2参数不确定'''
    data2 = {"a":"2","c":"1","b":"3"}
    
    print(dataSign(**data2))
  • 相关阅读:
    堆优化Dijkstra模版
    poj_1364King
    快速排序库函数qsort的使用
    CMD type命令
    开放地址法
    poj_3159Candies
    poj_1511Invitation Cards
    何谓数据结构
    div ul li添加文本自动自动
    java虚拟机使用内存
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/11977432.html
Copyright © 2011-2022 走看看