# -*- coding: utf-8 -*- import hashlib #待加密内容 strdata="xiaojingjiaaseafe16516506ng" h1=hashlib.md5() h1.update(strdata.encode(encoding='utf-8')) strdata_tomd5=h1.hexdigest() print("原始内容:",strdata,",加密后:",strdata_tomd5) import time import base64 import hmac #生产token def generate_token(key, expire=3600): r''' @Args: key: str (用户给定的key,需要用户保存以便之后验证token,每次产生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") #验证token def certify_token(key, token): r''' @Args: key: str token: str @Returns: boolean ''' token_str = base64.urlsafe_b64decode(token).decode('utf-8') token_list = token_str.split(':') if len(token_list) != 2: return False ts_str = token_list[0] if float(ts_str) < time.time(): # token expired return False known_sha1_tsstr = token_list[1] sha1 = hmac.new(key.encode("utf-8"),ts_str.encode('utf-8'),'sha1') calc_sha1_tsstr = sha1.hexdigest() if calc_sha1_tsstr != known_sha1_tsstr: # token certification failed return False # token certification success return True key="xiaojingjing" print("key:",key) user_token=generate_token(key=key) print("加密后:",user_token) user_de=certify_token(key=key,token=user_token) print("验证结果:",user_de) key="xiaoqingqing" user_de=certify_token(key=key,token=user_token) print("验证结果:",user_de)
相关推荐
今天小编就为大家分享一篇python 产生token及token验证的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何实现Bearer模式的Token验证 Python源码Python 如何...
有赞token获取和有赞接口调用代码示例,具体的类没写,只是获取了下token和测试了下python调用有赞接口的方法。有需要的可以下下来看看。
博客教程《微信公众平台开发教程第22篇-如何保证access_token长期有效》的配套代码,教程地址如下: http://blog.csdn.net/lyq8479/article/details/25076223
python requests接口自动化把登录token保存在文件,实现所有用例登录一次(csdn)————程序.pd
对接onenet需要token,资料中是python的算法实现,同时还包含移远模块的QuecPython算法,程序经过验证,输入相应参数可以得到正确token,方便开发者嵌入
获取token值的python脚本
主要为大家详细介绍了SpringBoot框架集成token实现登录校验功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
如何通过Python 获取token操作资源-Yu Tao1
python爬虫黑科技,主要涉及token参数,可以拿到数据的
因为token值每次都是动态获取的且是有有效期的,token值设置有效期是为了防止token泄露 解决办法:在每次发送带token的请求接口前,先在请求拦截器中获取token,然后在响应拦截器中将刷新获取到的token值更新到需要...
nest框架的token登录,以及token校验
Spring Boot + Security + JWT 实现接口统一 Token 校验,详见:https://blog.csdn.net/z1353095373/article/details/122859572
简单易懂
基于acess_token和refresh_token实现token续签
某度翻译js逆向解析token实现js文件源码。某度翻译的翻译链接中需要上传加密token,本文件附带解密token的js...可以使用python调用jsexecute进行解析,或者改写成python代码获取最新token,为后续的爬虫任务做铺垫。
主要介绍了Spring Cloud Feign统一设置验证token实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
基于Springboot+Shiro+jwt+Redis+Mybatis实现的有效期内Token刷新方案源码+项目说明.zip 本项目为前后端分离的Web应用后端程序,采用技术框架如下: springboot v2.1.2.RELEASE shiro jwt redis mybatis-plus v...
Python Django Web典型模块开发实战_区块链时代与Token登录_编程项目案例实例详解课程教程.pdf