Python中利用ItsDangerous快捷实现数据加密
作者:费弗里 发布时间:2022-06-09 23:24:41
本文完整示例代码及文件已上传至我的Github
仓库https://github.com/CNFeffery/PythonPracticalSkills
这是我的系列文章「Python实用秘技」的第11期,本系列立足于笔者日常工作中使用Python
积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。
作为系列第11期,我们即将学习的是:在Python
中快捷加密数据。
数据安全作为老生常谈的话题,是我们日常使用Python
进行诸如web
应用开发等任务时绕不开的话题,我们希望通过网络传输一些数据的同时,还可以保证数据的安全,毕竟将一些敏感的数据传输到未知的环境中进行使用是非常危险的事情。
而通过使用Python
库ItsDangerous
,我们就可以高效快捷地完成数据加密/解密的过程,它隶属于pallets
项目计划,该项目计划中也包含了Flask
、Jinja
、Quart
等知名的web
开发相关项目:
通过pip install itsdangerous
完成安装后,我们就可以使用它来加密/解密数据了,虽然其提供了种类相当多的方法来满足各种数据加密/解密场景,但我们日常只需要用到其两个API
接口就足够了:
常规的数据加密/解密
最常见的场景下,我们通过已有的密钥,利用URLSafeSerializer()
构建序列化器,即可将数据转化为加密结果:
而针对加密后的结果,使用相同的密钥构建序列化器进行解密即可:
可超时失效的数据加密/解密
有些场景下,我们希望加密生成的数据,从其生成开始的时间点算起,经历若干时间后超时报废,则可以使用URLSafeTimedSerializer()
,其用法与URLSafeSerializer()
基本一致,只是在loads()
解密数据时特别地可设置参数max_age
,当解密时距离此加密结果生成的时间超过max_age
对应的秒数,则会触发错误:
这样就可以满足日常绝大多数使用场景了😊,有关ItsDangerous
的更多进阶内容请移步其官网https://itsdangerous.palletsprojects.com/
。
来源:https://www.cnblogs.com/feffery/p/16886578.html


猜你喜欢
- 目录一、scrapy 分析1. 解析函数或数据入库出错,不会重试,会造成一定的数据丢失2. 运行方式,需借助命令行,不方便调试3. 入库 p
- 一个简单的验证码爬取程序本文介绍了在Python2.7环境下爬取网站验证码:思路就是获取验证码对应的url,然后发起requst请求,读取该
- (下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。) 朋友的比较好的存
- 下面先给大家介绍python实现版本号对比功能,具体内容如下所示:相同位置版本号大小比较:def abc(str1, str2): &nbs
- 最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程一、先说说Que
- 场景:1.计算SimHash值,及Hamming距离。2.SimHash适用于较长文本(大于三五百字)的相似性比较,文本越短误判率越高。Py
- 建立完回归模型后,还需要验证咱们建立的模型是否合适,换句话说,就是咱们建立的模型是否真的能代表现有的因变量与自变量关系,这个验证标准一般就选
- 一.简介仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计
- 1. 过滤器Python 具有通过列表解析 将列表映射到其它列表的强大能力。这种能力同过滤机制结合使用,使列表中的有些元素被映射的同时跳过另
- 1 简介孤立森林(isolation Forest)是一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的
- 工具/原料win7操作系统MySQLzip格式安装包方法/步骤MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是ms
- 如何在刷新链接之前验证文件是否存在?如何在每次刷新链接之前,验证链接文件是否确实存在?特别是对于数据库中的文件,我们必须在处理它之前确认一下
- Python range() 函数用法python range() 函数可创建一个整数列表,一般用在 for 循环中。函数语法range(s
- 如果你有一字段dm记录了一个url,为了更好的优化模糊查询速度或统计速度,在数据表原有的结构上增加3个字段,分别为 `sdm`
- 这是官方对SubFolders的介绍:返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的 Folders 集合。object
- 一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发
- python安装第三方库大都是通过pip命令安装,这个命令确实是很简便的,而对于每个独立的项目来说,需要用到的库或许会不同,如果删除或更新原
- Wordpress 2.6.2 出来了,今天将网站程序从2.6升级上来,比较了一下2个版本的代码,发现2.6的版本中的代码还有几个地方出现了
- window.onload=function(){ pd(11);} function pd(number) { if(number>
- 本文实例讲述了Python中pygame的mouse鼠标事件用法。分享给大家供大家参考,具体如下:pygame.mouse提供了一些方法获取