微信公众平台/ Python2与Python3中hashlib的sha1结果不一致

Python2与Python3中hashlib的sha1结果不一致,编码问题
在python2中正确方法
import hashlib

token = “098iop”
lis = [token,‘1544002201’,‘129793960’]
lis.sort()
sha1 = hashlib.sha1()
map(sha1.update,lis)
hashcode = sha1.hexdigest()
print hashcode

在Python3正确的写法(微信公众号平台开发者使用)

class Handle(object):

    def GET(self):
        try:
            data = web.input()
            if len(data) == 0:
                return "hello, this is handle view"
            signature = data.signature
            timestamp = data.timestamp
            nonce = data.nonce
            echostr = data.echostr            
            token = "098iop"     # 请按照公众平台官网\基本配置中信息填写

            list = [token, timestamp, nonce]
            list.sort()
            sha1 = hashlib.sha1()
            ***sha1.update("".join(list).encode('utf-8'))  #python2.x与python3.x唯一区别的一句***
            hashcode = sha1.hexdigest()
            if hashcode == signature:
                return echostr
            else:
                return False
        except Exception as e:
            _logger.error('ERROR:{}'.format(e))
            return

通过hashcode == signature返回,判断输入数据来源为微信后台,匹配成功结果显示微信公众号平台【服务器配置】配置成功。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值