创建用作校验和并验证发送方的文件的最佳方法是什么?

2024-05-15 23:41:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望向多人发送一个文件,但我也希望他们知道:

  1. 自从我把文件发给他们后,它就一直没有被更改过。你知道吗
  2. 他们知道是我发的文件。你知道吗

我在用Python编码,所以我想把文件拉进来,对它进行散列,然后用我的私钥加密散列。我会把原始文件和这个新文件(可能只是一个.txt文件)一起发送给任何我想要的人。然后,我的朋友可以用我的公钥解密散列,并将其与他们获取的原始文件的散列进行比较。我想用至少在SHA-256级别的东西。我不想使用MD5或SHA-1。你知道吗

注意-我发送的原始文件不需要加密,只需要寻找一些完整性和不可否认性。你知道吗

这能满足上述两个要求吗?有没有一种简单的方法可以在Python中实现这一点?你知道吗


Tags: 文件方法txt编码朋友级别md5发送给
1条回答
网友
1楼 · 发布于 2024-05-15 23:41:10

I was thinking of pulling in the file, taking a hash of it, and then encrypting the hash with my private key

这正是我们通常所说的签名或数字签名,它满足了您的两个要求。你知道吗

Would this fulfill the two requirements above?

是的。对消息签名并不能阻止它被操纵。如果没有私钥,为一个被操纵的消息生成一个签名是不可行的。你知道吗

And is there an easy way to implement this in Python?

当然,pyCrypto支持RSA和DSA。不过,您应该尝试ed25519,因为它的签名较小。你知道吗

相关问题 更多 >