【发布时间】:2016-06-10 09:54:25
【问题描述】:
我希望将文件发送给多人,但我也希望他们知道:
- 自从我将文件发送给他们以来,该文件没有更改过。
- 他们知道是我发送了文件。
我正在使用 Python 进行编码,因此我正在考虑提取文件,对其进行哈希处理,然后使用我的私钥对哈希进行加密。我会将原始文件和这个新文件(可能只是一个 .txt)一起发送给我想要的任何人。然后,我的朋友可以使用我的公钥解密散列,并将其与他们从原始文件中获取的散列进行比较。我想至少使用 SHA-256 级别的东西。我不想使用 MD5 或 SHA-1。
注意-我发送的原始文件不必加密,只是寻找一些完整性和不可否认性。
这能满足上述两个要求吗?有没有一种简单的方法可以在 Python 中实现这一点?
【问题讨论】:
-
我建议使用现有的加密解决方案。例如,PGP。当然,您可以通过 Python 与 PGP 交互。 (pythonhosted.org/python-gnupg)
-
你打算如何发送文件?电子邮件?许多电子邮件客户端已经将加密签名作为内置功能。
-
您正在重新发明加密签名。例如,如果您使用 GPG,则可以使用
gpg --sign myfile.txt。
标签: python encryption hash sha256 pki