itsdangerous.TimedJSONWebSignatureSerializer
在用户进行邮箱验证的时候,我们会给用户提供一个激活链接。此链接会携带上用户的相关信息,用于判断登录用户。但是将用户的个人信息以明文的形式展示是不安全的所以我们用到了
itsdangerous
安装:
pip install itsdangerous
使用TimedJSONWebSignatureSerializer加密
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60) #secret_key:用于加盐 #expires_in:过期时间 data = {'user_id': user.id, 'email': user.email} #准备要加密的数据 token = serializer.dumps(data).decode() #加密操作,注意serializer.dumps(data)生成的密文是bytes类型的,decode是转成字符串形式 #对于激活链接需要进行拼接 url+'?token=' + token
使用TimedJSONWebSignatureSerializer解密
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60) result = serializer.loads(token) #这里的token是之前加密的token,当超过了时限或者是值有误就会报错,BadData
一般进行解密需要放在try...except语句中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具