接口自动化测试-针对开放平台加密数据的处理思路

什么不多说,看源码

#!/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))

猜你喜欢

转载自www.cnblogs.com/shen-qiang/p/11977432.html
今日推荐