如何根据payload生成中英文签名python
How to generate signature based on payload with both Chinese and English in it python
我尝试通过下面的python代码生成签名(签名),多次编辑,但总是得到错误的签名,如果有人能帮助解决这个问题,我将不胜感激:
import hashlib
import json
import requests
nick = ['奇思种子']
key = 'd0da37aaab474d0195cf649c889f8d34'
param = {"method":"gy.erp.shop.get","appkey":"114888","sessionkey":"3fa8000e6e844a5d865c27d4e7e1175c","page_size":"100"}
# param['nick'] = str(nick[0].encode('utf-8'))
param['nick'] = str(nick[0])
pjson = json.dumps(param)
postdata = {'param': pjson }
str1 = key + pjson + key
str2 = str1.replace(": ", ":")
str3 = str2.replace(", ", ",")
md = hashlib.md5()
md.update(str3.encode())
sign = md.hexdigest().upper()
param["sign"] = sign
pjson2 = json.dumps(param)
str_2 = pjson2.replace(": ", ":")
str_3 = str_2.replace(", ", ",")
您必须将 ensure_ascii
属性设置为 False。
import hashlib
import json
import requests
nick = ['奇思种子']
key = 'd0da37aaab474d0195cf649c889f8d34'
param = {"method":"gy.erp.shop.get","appkey":"114888","sessionkey":"3fa8000e6e844a5d865c27d4e7e1175c","page_size":"100"}
# param['nick'] = str(nick[0].encode('utf-8'))
param['nick'] = str(nick[0])
pjson = json.dumps(param, ensure_ascii=False)
postdata = {'param': pjson }
str1 = key + pjson + key
str2 = str1.replace(": ", ":")
str3 = str2.replace(", ", ",")
md = hashlib.md5()
md.update(str3.encode('utf-8'))
sign = md.hexdigest().upper()
param["sign"] = sign
pjson2 = json.dumps(param)
str_2 = pjson2.replace(": ", ":")
str_3 = str_2.replace(", ", ",")
我尝试通过下面的python代码生成签名(签名),多次编辑,但总是得到错误的签名,如果有人能帮助解决这个问题,我将不胜感激:
import hashlib
import json
import requests
nick = ['奇思种子']
key = 'd0da37aaab474d0195cf649c889f8d34'
param = {"method":"gy.erp.shop.get","appkey":"114888","sessionkey":"3fa8000e6e844a5d865c27d4e7e1175c","page_size":"100"}
# param['nick'] = str(nick[0].encode('utf-8'))
param['nick'] = str(nick[0])
pjson = json.dumps(param)
postdata = {'param': pjson }
str1 = key + pjson + key
str2 = str1.replace(": ", ":")
str3 = str2.replace(", ", ",")
md = hashlib.md5()
md.update(str3.encode())
sign = md.hexdigest().upper()
param["sign"] = sign
pjson2 = json.dumps(param)
str_2 = pjson2.replace(": ", ":")
str_3 = str_2.replace(", ", ",")
您必须将 ensure_ascii
属性设置为 False。
import hashlib
import json
import requests
nick = ['奇思种子']
key = 'd0da37aaab474d0195cf649c889f8d34'
param = {"method":"gy.erp.shop.get","appkey":"114888","sessionkey":"3fa8000e6e844a5d865c27d4e7e1175c","page_size":"100"}
# param['nick'] = str(nick[0].encode('utf-8'))
param['nick'] = str(nick[0])
pjson = json.dumps(param, ensure_ascii=False)
postdata = {'param': pjson }
str1 = key + pjson + key
str2 = str1.replace(": ", ":")
str3 = str2.replace(", ", ",")
md = hashlib.md5()
md.update(str3.encode('utf-8'))
sign = md.hexdigest().upper()
param["sign"] = sign
pjson2 = json.dumps(param)
str_2 = pjson2.replace(": ", ":")
str_3 = str_2.replace(", ", ",")