最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】Flask中的itsdangerous

Flask crifan 3892浏览 0评论

之前就看到过Flask中的itsdangerous

看到:

Flask的session

提到“itsdangerous(一种签名算法,主要使用HMAC加密算法”

-》原来itsdangerous是加密算法啊。。。

去搜索:

Flask itsdangerous

itsdangerous

itsdangerous 0.24 : Python Package Index

“Various helpers to pass trusted data to untrusted environments and back.

It’s Dangerous

… so better sign this

Various helpers to pass data to untrusted environments and to get it back safe and sound.

This repository provides a module that is a port of the django signing module. It’s not directly copied but some changes were applied to make it work better on its own.”

pallets/itsdangerous: Various helpers to pass trusted data to untrusted environments

itsdangerous 中文文档 — itsdangerous

“有时候你想向不可信的环境发送一些数据,但如何安全完成这个任务呢?解决的方法就是签名。使用只有你自己知道的密钥,来加密签名你的数据,并把加密后的数据发给别人。当你取回数据时,你就可以确保没人篡改过这份数据。

诚然,接收者可以破译内容,来看看你的包裹里有什么,但他们没办法修改你的内容,除非他们也有你的密钥。所以只要你保管好你的密钥,并且密钥足够复杂,一切就OK了。

itsdangerous

内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin Ronacher编写,而大部分设计与实现的版权归Simon Willison和其他的把这个库变为现实的Django爱好者们。

适用案例

* 在取消订阅某个通讯时,你可以在URL里序列化并且签名一个用户的ID。这种情况下你不需要生成一个一次性的token并把它们存到数据库中。在任何的激活账户的链接或类似的情形下,同样适用。

* 被签名的对象可以被存入cookie中或其他不可信来源,这意味着你不需要在服务端保存session,这样可以降低数据库读取的次数。

* 通常签名后的信息可以安全地往返与服务端与客户端之间,这个特性可以用于将服务端的状态传递到客户端再传递回来。”

转载请注明:在路上 » 【整理】Flask中的itsdangerous

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.163 seconds, using 22.20MB memory