Python模块学习之hashlib中MD5在接口测试中的应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python模块学习之hashlib中MD5在接口测试中的应用相关的知识,希望对你有一定的参考价值。

博主刚接到的接口需求使用了新的的安全机制,发送请求的时候要同步传递一个签名,签名内容由参数按照ascii排序后的值和一个动态的key值组装而成,使用MD5加密,在测试初期因为开发没有代码完成加密时很麻烦,后来使用python实现了这一块的自动加密

不多说,上代码

#! /usr/bin/python
# coding:utf-8 
""" 
@author:Bingo
@file: test.py 
@time: 2017/11/09 
"""
import requests
import hashlib

def param_order(dic):
        l = []
        if isinstance(dic, dict):  #判断是否为字典
                for k, v in dic.items():
                        l.append(k + = + v) #将字典的key和value取出来组装成字符串
                l.sort()  #将字典中的元素按照首字母排序
                return &.join(l)  #返回key1=value1&key2=value2的字符串
        else:
                return Not a dict

if __name__ == __main__:
        soure_para = {
                name: 01111111,
                num: 181111,
                sin: HELLO
        }

        key = 111
        string = param_order(soure_para)  #获取排序后的参数
        keyMsg = hashlib.md5((string+key).encode(utf8)).hexdigest() #生成签名
        soure_para[keyMsg] = keyMsg #将签名添加到参数中
        # param = soure_para
        a = requests.request(POST,http://baidu.com,params=soure_para) #发送请求

 

以上是关于Python模块学习之hashlib中MD5在接口测试中的应用的主要内容,如果未能解决你的问题,请参考以下文章

python3学习之md5加密

Python:hashlib加密模块,flask模块写登录接口

小哈学python----hashlib模块

python hashlib模块

python学习之-- 生成唯一ID

python接口自动化测试二十七:密码MD5加密