django中itsdangerous的用法
Posted lvye001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中itsdangerous的用法相关的知识,希望对你有一定的参考价值。
itsdangerous用来解决什么问题,为什么需要用到itsdangerous?
安装命令:pip install itsdangerous
有时候你想向不可信的环境发送一些数据,但如何安全完成这个任务呢?解决的方法就是签名。使用只有你自己知道的密钥,来加密签名你的数据,并把加密后的数据发给别人。当你取回数据时,你就可以确保没人篡改过这份数据。
诚然,接收者可以破译内容,来看看你的包裹里有什么,但他们没办法修改你的内容,除非他们也有你的密钥。所以只要你保管好你的密钥,并且密钥足够复杂,一切就OK了。
itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin Ronacher编写,而大部分设计与实现的版权归Simon Willison和其他的把这个库变为现实的Django爱好者们
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer from django.conf import settings # serializer = Serializer(秘钥, 有效期秒) serializer = Serializer(settings.SECRET_KEY, 300) # serializer.dumps(数据), 返回bytes类型 token = serializer.dumps({‘mobile‘: ‘18512345678‘}) token = token.decode() #解码 # 检验token # 验证失败,会抛出itsdangerous.BadData异常 serializer = Serializer(settings.SECRET_KEY, 300) try: data = serializer.loads(token) except BadData: return None
else:
data.get(‘mobile‘)
以上是关于django中itsdangerous的用法的主要内容,如果未能解决你的问题,请参考以下文章