欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信公眾號 Token驗證失效 問題 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 公眾號相關 >

微信公眾號 Token驗證失效 問題

發(fā)表時間:2020-10-17

發(fā)布人:葵宇科技

瀏覽次數(shù):85

最近在學習微信公眾號的時候遇到了一個問題:Token驗證失效

話不多說,看代碼:handle.py

import hashlib
import web


class Handle(object):
    def GET(self):
        try:
            data = web.input()
            if len(data) == 0:
                return "hello, this is handle view"
            # 微信服務器獲取到的數(shù)據(jù)
            # 生成方式是將nonce、timestamp和token(也就是我們在網(wǎng)頁中配置的TOKNE)
            # 三個字符串按照字典序排序后,對排序后得到的字符串數(shù)組使用哈希加密算法得到。
            signature = data.signature
            # 時間戳
            timestamp = data.timestamp
            # 隨機數(shù)
            nonce = data.nonce
            # 隨機數(shù),我們將所得到的參數(shù),按前面的方式生成生成hashcode,將其與signature進行比對,
            # 若相等返回echostr,否則返回空
            echostr = data.echostr
            token = "xxxx"  # 請按照公眾平臺官網(wǎng)\基本配置中信息填寫

            list = [token, timestamp, nonce]
            # 按字典順序排序
            list.sort()
            # 哈希算法加密list得到hashcode
            sha1 = hashlib.sha1()
  
          	# 注釋掉
          	# map(sha1.update, list)
          
            # 新增代碼
            sha1.update(list[0].encode('utf-8'))
            sha1.update(list[1].encode('utf-8'))
            sha1.update(list[2].encode('utf-8'))
            
            hashcode = sha1.hexdigest()
            print("handle/GET func: hashcode, signature: ", hashcode, signature)
            # 驗證是否相等
            if hashcode == signature:
                return echostr
            else:
                return ""
        except Exception as Argument:
            return Argument

官網(wǎng)用的是python2.7,我本地裝的是python3。自己也忽視了map()函數(shù)的不同,搞了半天也沒找到錯誤在哪里,后來晚上看到這篇文章,終于解決了。
在此記錄一下,希望對你們有所幫助。

相關案例查看更多