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语句中

posted @   EF果果  阅读(1407)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示