|
4鱼币
def getSign(params, secretKey):
sign =' '
for key in (params.keys())
sign+=key+'='+str(params[key])+'&'
sign=sign[:-1]
my_sign= hmac.new(bytes(secretKey, encoding='utf8'), bytes(sign, encoding='utf8'),sha512).hexdigest()
return my_sign
朋友发了一段代码考我,我刚学不是很久,实在看不懂,求大神帮助解释下,这段代码中出现的函数和知识,再描述一下这段代码的意思和作用,谢谢!
'''
这个像是API接口的签名验证。
具体应该还要加上导入相应的模块。
ps:楼主你的for循环语句少了冒号':'
'''
from hashlib import *
import hmac
def getSign(params, secretKey): # params参数为字典,secretKey参数
sign =' ' # 签名
for key in (params.keys()): #params.keys():字典的所有键
# 将遍历的每个键Key,用'='连接字符串处理后的params[key]键对应的值,再连接'&',最后合并成sign签名
sign+=key+'='+str(params[key])+'&'
sign=sign[:-1] # 获取sign除最后一个字符外前的字符串
# 此处经过了一系列的加密,具体网上查其含义和用法
my_sign= hmac.new(bytes(secretKey, encoding='utf8'), bytes(sign, encoding='utf8'),sha512).hexdigest()
return my_sign # 最后得到了签名验证
|
最佳答案
查看完整内容
'''
这个像是API接口的签名验证。
具体应该还要加上导入相应的模块。
ps:楼主你的for循环语句少了冒号':'
'''
from hashlib import *
import hmac
def getSign(params, secretKey): # params参数为字典,secretKey参数
sign =' ' # 签名
for key in (params.keys()): #params.keys():字典的所有键
# 将遍历的每个键Key,用'='连接字符串处理后的params[key]键对应的值,再连接'& ...
|