比如,用户登录成功后给用户派发一个30分钟有效期的token。。怎么用python实现呢?
原理:
通过hmac sha1 算法产生用户给定的key和token的最大过期时间戳的一个消息摘要,将这个消息摘要和最大过期时间戳通过":"拼接起来,再进行base64编码,生成最终的token
http://www.cppcns.com/jiaoben/python/248493.html
python编写带有token的后台密码安全测试工具:https://www.bilibili.com/video/BV1D7411F72Q
Python登录模块:GET请求和POST请求的区别:https://zhidao.baidu.com/question/1449465348755937500.html
python Web生成token的几种方法,你确定不进来看看?:https://www.cnblogs.com/xuchuankun/p/9802710.html
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer;
生成token
from itsdangerousimport TimedJSONWebSignatureSerializer as Serializer from django.confimport settings # serializer = Serializer(秘钥, 有效期秒) serializer= Serializer(settings.SECRET_KEY,300) # serializer.dumps(数据), 返回bytes类型 token= serializer.dumps({'mobile':'18512345678'}) token= token.decode()
验证token
# 检验token # 验证失败,会抛出itsdangerous.BadData异常 serializer= Serializer(settings.SECRET_KEY,300) try: data= serializer.loads(token) except BadData: return None
>>密码加密:MD5(https://www.cnblogs.com/2008nmj/p/15078378.html)
>>数据库连接和存取:链接
>>token带来的好处:https://blog.csdn.net/qq_41723615/article/details/104346964
序列化token:https://www.cnblogs.com/du-jun/p/10409200.html
token不需要保存到数据库中吗。。