It's Dangerous — It's Dangerous 文档

来自菜鸟教程
Itsdangerous/docs/1.0.x/index
跳转至:导航、​搜索

这很危险

class=align-center|_images/itsdangerous-logo.png 有时您只想将一些数据发送到不受信任的环境。 但是如何安全地做到这一点? 诀窍涉及签名。 给定一个只有您知道的密钥,您可以对您的数据进行加密签名并将其交给其他人。 当您取回数据时,您可以轻松确保没有人篡改它。

当然,接收者可以解码内容并查看包裹,但除非他们也有您的密钥,否则他们无法修改内容。 所以如果你保持密钥的秘密和复杂,你会没事的。

在内部,itsdangerous 默认使用 HMAC 和 SHA-512 进行签名。 最初的实现灵感来自 Django 的签名模块 。 它还支持 JSON Web 签名 (JWS)。 该库是 BSD 许可的。

安装

使用 pip 安装和更新:

pip install -U ItsDangerous

示例用例

  • 您可以在 URL 中对用户 ID 进行序列化和签名,然后通过电子邮件将其发送给他们以取消订阅时事通讯。 这样您就不需要生成一次性令牌并将它们存储在数据库中。 任何类型的帐户激活链接和类似的东西都是一样的。
  • 签名对象可以存储在 cookie 或其他不受信任的来源中,这意味着您不需要将会话存储在服务器上,从而减少了必要的数据库查询次数。
  • 签名信息通常可以安全地在服务器和客户端之间进行往返,这使得它们对于将服务器端状态传递给客户端然后返回很有用。