微信接入,服务器配置时出现的错误

raidyue 发布于 2015/05/16 23:42
阅读 2K+
收藏 0

我使用了flask作为微信公众号的服务端,在接入的时候出现了错误,每次都是token验证失败,然后我把微信服务器发送过来的请求的参数提取了出来,按照字典序排序以后进行sha1加密,结果和signature不一致,求解

def for_test():
    signature = '7c0793249a3cd11a0145b3dbc0b215f69b24723f'
    echostr = '2095749910039616511'
    timestamp = '1431788527'
    nonce = '2099889954 500 0.014 0.014 403'
    //以上是我从请求中提取出来的参数
    token = 'yuexiaodong'
    lst = [token, timestamp, nonce]
    lst.sort()
    lst = ''.join(lst)
    hashcode = hashlib.sha1(lst).hexdigest()
    print 'hashcode=%s and signature=%s' % (hashcode, signature)


[最后的输出结果]:
hashcode=e68af2e2fcff8a910e9ef497746e4e38eac513ca and signature=7c0793249a3cd11a0145b3dbc0b215f69b24723f



请问是哪里出现的错误?

加载中
1
poorguy
poorguy
def verifySignature(signature, timestamp, nonce, echostr):
    token = 'xxxxxxxxx'
    tmplist = [token, timestamp, nonce]
    tmplist.sort()
    tmpstr = "%s%s%s" % tuple(tmplist)
    tmpstr = hashlib.sha1(tmpstr).hexdigest()
    if tmpstr == signature:
        return echostr
    else:
        return None



poorguy
poorguy
回复 @raidyue : 不是吧,这段从我正在跑的公众号上面复制出来的。
raidyue
raidyue
这个还是不行,加密以后的内容还是不一致
返回顶部
顶部