python生成签名sign

import hashlib
import requests
import time

# 当前毫秒时间戳
timeStamp = int(round(time.time() * 1000))
secret = '12qwaszxasqw12'
parm = {
    "activityId": "87386",
    "appId": 10000,
    "timeStamp": timeStamp
}
# 参数名按照ASCII码从小到大排序
data_keys = sorted(parm.keys())
print(data_keys)
data_string = ''
for key in data_keys:
    if parm.get(key) is None:
        pass
    else:
        data_string += '{k}={v}&'.format(k=key.lower(), v=parm.get(key))
        print(data_string)
data_string += 'key' + '=' + secret
print(data_string)


# 转换md5串
if isinstance(data_string, str):
    # 如果是unicode先转utf-8
    parmStr = data_string.encode("utf-8")
    m = hashlib.md5()
    m.update(parmStr)
    sign = m.hexdigest().upper()
    print(m.hexdigest().upper())

parm1 = {
    "activityId": "87386",
    "appId": 10000,
    "timeStamp": timeStamp,
    "sign": sign
}
url = 'http://openapi.beta.piaoniu.com/openapi/v2/activities/detail'
res = requests.get(url=url, params=parm1)
print(res.url)
print(res.text)
import hashlib
import requests
import time

# 当前毫秒时间戳
timeStamp = int(round(time.time() * 1000))
secret = '12qwaszxasqw12'
parm = {
"activityId": "87386",
"appId": 10000,
"timeStamp": timeStamp
}
# 参数名按照ASCII码从小到大排序
data_keys = sorted(parm.keys())
print(data_keys)
data_string = ''
for key in data_keys:
if parm.get(key) is None:
pass
else:
data_string += '{k}={v}&'.format(k=key.lower(), v=parm.get(key))
print(data_string)
data_string += 'key' + '=' + secret
print(data_string)
posted @ 2020-10-20 22:13  似梦千寻  阅读(1133)  评论(0)    收藏  举报