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的用法的主要内容,如果未能解决你的问题,请参考以下文章

ItsDangerous的使用

django项目细节

itsdangerous模块

itsdangerous 知识点

python的模块itsdangerous

使用itsdangerous对字符串进行加密