我想知道是否有人告诉我为什么'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
对文本或任何其他数据进行签名,这样就可以通过不安全的通道传输,然后在另一端或从存储它的数据库检索时检查它是否未被更改/篡改。你知道吗因此,它创建一个签名,将其添加到已签名的数据中,然后在检索时检查它是否未被篡改。对方需要数据和签名。
相关问题 更多 >
编程相关推荐