python - 为什么 'itsdangerous' 模块返回签名文本?

标签 python encryption

我想知道是否有人告诉我为什么“itsdangerous”模块将签名文本作为字符串的一部分返回。如:

>>> import itsdangerous
>>> 
>>> secret = 'my-secret-key'
>>> token = itsdangerous.TimedSerializer(secret)
>>> token.dumps('my-user-id')
'"my-user-id".Cj51kA.yuoSx6eK0LuuphWK0TlOBil2PM0'

我想我可以做这样的事情来获取哈希:

token.dumps('my-user-id').split('.', 1)[1]

...但令我惊讶的是,我什至需要首先这样做。事实上,文档没有明确提及这种行为,或者只是提供了一种去除签名文本的方法,这让我很紧张,怀疑我是否在做一些不安全的事情。预先感谢您阐明以下问题:

1) 图书馆这样做有充分的理由吗? 2) 什么是最安全的方法来确保我不会以纯文本形式返回编码字符串和哈希值?

最佳答案

itsdangerous 的目的不是加密您的数据,它只是一个检测篡改数据的简单工具。

... When you get the data back you can easily ensure that nobody tampered with it. 1

因此,您应该在使用此模块签名之前或之后自行加密。

关于python - 为什么 'itsdangerous' 模块返回签名文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37770769/

相关文章:

php - 如何在 codeigniter 中加密 Angularjs 值?

flash - 支持密码保护的任何 AS3/Air Library for Zip 文件

python - 如何使用 DBSCAN 找到集群成员之间的最大/最小距离?

Python:类似 Haskell 的 ./$

python - PyQt5 突出显示选定的 TreeWidget 单元格

python - 字符串问题/在 pandas 数据框中选择所有 > 8000 的值

python - 在 Twisted Python 中使用密码 - 属性错误?

php - PayPal证书升级&加密网站支付

java - DH ServerKeyExchange 不符合算法约束

python - 防止 IOError : [Errno 4] Interrupted system call