描述
一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求。
sign签名是一种很常见的方式
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib.parse
import hashlib
import requests
import json
#_______________________签名方式一___________________________________________________
def sign_body(body, apikey):
'''请求body sign签名'''
# 列表生成式,生成key=value格式
a = ["".join(i) for i in body.items() if i[1] and i[0] != "sign"]
# print(a)
# 参数名ASCII码从小到大排序
strA = "".join(sorted(a))
# 在strA后面拼接上apiKey得到striSignTemp字符串
striSignTemp = strA+apikey
# MD5加密
def jiamimd5(src):
m = hashlib.md5()
m.update(src.encode('UTF-8'))
return m.hexdigest()
sign = jiamimd5(striSignTemp.lower())
# 得到sign签名后新的body值
body["sign"] = sign
return body
if __name__