python如何生成token

比如,用户登录成功后给用户派发一个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不需要保存到数据库中吗。。

原文地址:https://www.cnblogs.com/2008nmj/p/15076155.html