itsdangerous模块的使用
简介
生成临时身份令牌(通过邮件让用户注册激活的时候地址当中带有用户的信息。但是信息一般都是敏感信息,而且还想让它具有时效性,所以就可以选择itsdangerous模块
官网:https://itsdangerous.palletsprojects.com/en/1.1.x/
安装
pip install itsdangerous
使用
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
from itsdangerous import BadData # 解密时数据出错,错误类
serializer = Serializer('secret_key', 3600)
# 可传递的参数如下
参数1:加密的秘钥
参数2:过期时间/秒
userinfo = {'user_id': 1}
res = serializer.dumps(userinfo) #加密
# serializer.loads(res) # 解密
# 如加密的时间过期了,再解密的话会报如下错误
itsdangerous.SignatureExpired:Signature expired

itsdangerous模块的使用的更多相关文章
- Django发送邮件和itsdangerous模块的配合使用
项目需求:用户注册页面注册之后,系统会发送一封邮件到用户邮箱,用户点击链接以激活账户,其中链接中的用户信息需要加密处理一下 其中激活自己邮箱的smtp服务的操作就不在加以说明,菜鸟教程上有非常清晰的讲 ...
- itsdangerous模块
使用场景: 在取消订阅时,可以在URL里序列化并且签名一个用户的ID或在任何的激活账户的链接或类似的情形下使用.这种情况下不需要生成一个一次性的token并把它们存到数据库中. 被签名的对象可以被存入 ...
- python学习之itsdangerous模块
类 from itsdangerous import URLSafeTimedSerializer as ustsr class ustsr(secret_key) 参数: secret_key可以是 ...
- python学习笔记:itsdangerous模块
使用itsdangerous生成临时身份令牌 安装 pip install itsdangerous 使用 import itsdangerous salt='sdaf'#加盐 t=itsdanger ...
- Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid
Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...
- DRF框架QQ登录功能
用户模块---QQ登录 流程图 QQ登录文档:http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 流程简述 ...
- QQ第三方登陆示例
先上图 若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现.注册方法可参考链接http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E ...
- Django项目之Web端电商网站的实战开发(二)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...
- python+Django 下JWT的使用
figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...
- Django下JWT的使用
前言 JWT 是 json web token 的缩写, token的作用你应该已经了解,用于识别用户身份避免每次请求都需要验证 用来解决前后端分离时的用户身份验证 在传统的web项目中 我们会在fo ...
随机推荐
- [转帖]Kdump配置及使用(详细)总结(二)
一.简介 本文主要介绍如何打开Kdump并对其相关文件进行配置.前面章节已经对Kdump调试机理进行总结总结,具体可以点击下面链接: Kdump调试机理总结(一) crash工具分析vmcore文件常 ...
- [转帖]Arm vs X86 (unfinished)
http://home.ustc.edu.cn/~shaojiemike/posts/arm/ ARM Ltd history 诞生 1981年,被Intel拒绝的Acorn(橡子) Comput ...
- [转帖]/etc/profile 和 /etc/profile.d/ 的区别
https://my.oschina.net/calmsnow/blog/2989570 /etc/profile 是文件, /etc/profile.d/ 是目录,用在设置环境变量方面,/etc ...
- c#通过表达式树优雅的实现分组取TopN笔记
需要引入nuget包来实现ef.functions调用row_number Thinktecture.EntityFrameworkCore.SqlServer 调用方式: //顺排 context. ...
- 独立安装VS的C++编译器build tools
Microsoft C++ 生成工具 Microsoft C++ 生成工具 - Visual Studio Microsoft C++ 生成工具通过可编写脚本的独立安装程序提供 MSVC 工具集,无需 ...
- go中bufio使用小结
bufio 前言 例子 bufio 源码解析 Reader对象 实例化 ReadSlice ReadString ReadLine Peek Scanner Give me more data Err ...
- python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
1.Python读取JSON报错:JSONDecodeError:Extra data:line 2 column 1 错误原因: JSON数据中数据存在多行,在读取数据时,不能够单单用open(), ...
- HarmonyOS实战[二]—超级详细的原子化服务体验[可编辑的卡片交互]快来尝试吧
相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 [本文正在参与"有奖征文|HarmoneyOS征文大赛"活动] 1.创建HarmonyOS应用 选择Java程 ...
- 算法与数据结构-07-手写类HashTable
package day05; import java.sql.SQLOutput; import java.util.Scanner; /** * 哈希表代码实现 */ public class Ha ...
- 高精度模板 大数减大数 可变数组vector实现
vector<int> Sub(vector<int>& A, vector<int>& B)//这里默认长数减去短数 { vector<in ...