成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python產(chǎn)生token及token驗(yàn)證的方法-創(chuàng)新互聯(lián)

1、前言

成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),成都小程序開發(fā),10年建站對成都茶樓設(shè)計(jì)等多個方面,擁有多年設(shè)計(jì)經(jīng)驗(yàn)。

最近在做微信公眾號開發(fā)在進(jìn)行網(wǎng)頁授權(quán)時,微信需要用戶自己在授權(quán)url中帶上一個類似token的state的參數(shù),以防止跨站攻擊。

在經(jīng)過再三思考之后,自己試著實(shí)現(xiàn)一個產(chǎn)生token和驗(yàn)證token的方案。接下就把code貼出來。希望讀者指導(dǎo)一下。

2、產(chǎn)生token

原理:

通過hmac sha1 算法產(chǎn)生用戶給定的key和token的大過期時間戳的一個消息摘要,將這個消息摘要和大過期時間戳通過":"拼接起來,再進(jìn)行base64編碼,生成最終的token

實(shí)現(xiàn):

import time
import base64
import hmac

def generate_token(key, expire=3600):
 r'''
 @Args:
  key: str (用戶給定的key,需要用戶保存以便之后驗(yàn)證token,每次產(chǎn)生token時的key 都可以是同一個key)
  expire: int(大有效時間,單位為s)
 @Return:
  state: str
 '''
 ts_str = str(time.time() + expire)
 ts_byte = ts_str.encode("utf-8")
 sha1_tshexstr = hmac.new(key.encode("utf-8"),ts_byte,'sha1').hexdigest() 
 token = ts_str+':'+sha1_tshexstr
 b64_token = base64.urlsafe_b64encode(token.encode("utf-8"))
 return b64_token.decode("utf-8")

新聞標(biāo)題:python產(chǎn)生token及token驗(yàn)證的方法-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article48/eijep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作小程序開發(fā)、網(wǎng)站營銷微信公眾號、電子商務(wù)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
调兵山市| 大港区| 汉沽区| 玉田县| 巴林右旗| 左贡县| 南丰县| 松溪县| 沙坪坝区| 板桥市| 搜索| 绩溪县| 大田县| 黎城县| 汤阴县| 虎林市| 平遥县| 宁强县| 察雅县| 广饶县| 澄江县| 济宁市| 西丰县| 福海县| 赣榆县| 托克托县| 永昌县| 疏附县| 南靖县| 勐海县| 伊通| 肥东县| 嘉黎县| 辽宁省| 屏东县| 图木舒克市| 郸城县| 卓尼县| 白银市| 平谷区| 山西省|