码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-11-09 22:43:39      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:bsp   author   参数   end   time   post   logs   接口   color   

博主刚接到的接口需求使用了新的的安全机制,发送请求的时候要同步传递一个签名,签名内容由参数按照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在接口测试中的应用

标签:bsp   author   参数   end   time   post   logs   接口   color   

原文地址:http://www.cnblogs.com/Detector/p/7811178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!