如题,贴code
# -*- coding: utf-8 -*- # version python 3.5 import hashlib import json import sys def loadMessage(file): f = open(file) #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错 message = json.load(f) # print('message:',message) return message def requestsign( message,signKey): # message1=json.dumps(message,sort_keys=True) # message2=json.loads(message1) # print(message) keyList=sorted(message) # print(keyList) # print(type(keyList)) #拼字符串 tempSign='' for key in keyList: if((message[key]!=u''and key!='sign')): # print("key:", key) # print("message2[key]:", message2[key]) tempSign += key+ '='+ message[key]+ '&' # print(tempSign) # print(tempSign) #去掉最后一个&符号 temSign1=tempSign[:-1] # print("tempSign1",temSign1) #拼接商户秘钥 signs =temSign1+ signKey print(signs) return signs #sha256 def sha256Fuction(signString): sha256 = hashlib.sha256() sha256.update(signString.encode('utf-8')) signvalue = sha256.hexdigest() # print (u"签名256加密结果:", signvalue ) print ("签名256加密结果:"+ signvalue ) if __name__ == '__main__': if len(sys.argv) == 3: file=sys.argv[1] signKey=sys.argv[2] message = loadMessage(file) signString = requestsign(message, signKey) sha256Fuction(signString) else: print ('参数不对')