gpt4 book ai didi

python - python加密的基础知识w/hashlib sha1

转载 作者:太空狗 更新时间:2023-10-29 17:11:02 24 4
gpt4 key购买 nike

我正在努力完全理解加密的工作原理和编码方式,尤其是使用 Python 时。我只是想了解基础知识并以最简单的形式创建代码。

我将在两个不同的站点之间传递用户 ID,但显然我需要使用私钥对其进行加密,以便 Website2 知道它来自 Website1。这似乎是我的代码: http://docs.python.org/library/hashlib.html#module-hashlib ,但它没有很好的例子(或者我可能在错误的地方)。

我遇到的问题是完全理解如何编码和解码。

假设每个网站都知道的共享私钥是:

shared_private_key = "ABCDEF"

我希望 Website1 将用户 ID 传递给 Website2:

userID = "123456"

Website1 如何以可以通过 HTTP header 发送加密的方式使用私钥加密我的 userID,然后让 Website2 解密并能够使用共享的私钥读取 userID?

我很抱歉提出这样一个基本问题,但我没能理解应该如何完成。谢谢。

最佳答案

hashlib 模块提供散列函数。虽然这与加密有一定关系,但一旦您对某些数据进行哈希处理,您就无法返回并从哈希结果中获取原始数据。

您可以采用不同的方法来代替加密数据:使用数据的散列和一些 secret 创建一个唯一的签名。

shared_private_key = "ABCDEF"

def create_signature(data):
return hashlib.sha1(repr(data) + "," + shared_private_key).hexdigest()

def verify_signature(data, signature):
return signature == create_signature(data)

最后,您将数据和签名发送到网站 2。这样您就可以(大部分)确定没有未经授权的人篡改数据。

关于python - python加密的基础知识w/hashlib sha1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com