官方网站
https://itsdangerous.readthedocs.io/en/1.1.x/
首先介绍一下什么是itsdangerous:
- 有时候你想向不可信的环境发送一些数据,但如何安全完成这个任务呢?解决的方法就是签名。使用只有你自己知道的密钥,来加密签名你的数据,并把加密后的数据发给别人。当你取回数据时,你就可以确保没人篡改过这份数据。
- 诚然,接收者可以破译内容,来看看你的包裹里有什么,但他们没办法修改你的内容,除非他们也有你的密钥。所以只要你保管好你的密钥,并且密钥足够复杂,一切就OK了。
- itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin Ronacher编写,而大部分设计与实现的版权归Simon Willison和其他的把这个库变为现实的Django爱好者们。
下面是它的安装指令
pip install itsdangerous
下面演示它的使用方法
- 可以参考这个博客,有具体的说明
https://blog.csdn.net/qq_42799459/article/details/89630855 - 签名接口
- 最基本的接口是签名接口,Signer类可以用来将一个签名附加到指定的字符串上:
- 签名会被家在字符串的尾部,中间由句号(.)分隔;
- 验证字符串,使用unsign()方法
一个简单的应用
- 超过设定的加密时间以后,再次打印就报错了
- 这个包里面有TimedJSONWebSignatureSerializer这个方法,这个方法的名字太长了,所以,使用as 进行起个别名为Serializer,这个方法就是用来进行加密和解密的,还可以设置加密的过期时间。使用Serializer()创建对象,需要填写两个参数:第一个参数是加密的密钥,第二个参数是过期时间是5,单位是秒。
- 解密后返回的为一个字典对象