我可以使用Python默认库加密邮件并解密吗?

9 投票
3 回答
3920 浏览
提问于 2025-04-15 11:19

当然,类似的问题在StackOverflow上已经被问过很多次了,但我不想使用像Crypto这样的第三方库。所以我需要从用户的邮箱生成一个密文,然后再把它解密回明文。我该如何在Python中做到这一点呢?

3 个回答

1

如果你想自己做一个加密系统,可以试试使用Python自带的 hmachashlib 模块。注意,hashlib 是在Python 2.5版本中新增的,如果你用的是更早的版本,那么可以选择使用旧版的 md5sha 模块。

如果你不想(或者不能)安装第三方库,但又愿意使用第三方的算法,或者是一些“轻量级”的第三方算法实现(比如那些可以直接放在一个.py文件里的Python源代码,你可以自己引入,而不需要用 setup.py 或其他正式的安装方式),那么我强烈建议你这样做,因为这些通常会比你自己写的要好。

我知道的最小且最易用的一个叫做 p3,是由密码学家Paul Rubin写的。虽然原来的链接已经失效,但你可以搜索一下。目前在谷歌上可以找到 一个几乎完全相同的版本,还有 一个适用于Python 3的改编版

你也可以尝试一些单模块的、纯Python的 Rijndael (AES) 实现,比如 这个 或者 这个。(同样,链接不一定会永久有效,所以你可能需要自己找找。)

4

当然可以。 你可以看看这个链接:http://www.amk.ca/python/code/crypto.html 那里会有答案哦;)

不过你的问题不够具体,所以我也没法说太多。你可以去看看这个链接:http://en.wikipedia.org/wiki/Cryptography#Modern_cryptography

祝好, Tuergeist

更新: 不,你不能使用内置的功能,因为有出口限制,具体可以看这个链接:http://docs.python.org/library/crypto.html 不过如果你自己实现一个算法(这其实不是个好主意),那就可以。 所以,最好的办法是使用Python核心开发者推荐的扩展。可以参考上面的帖子。

再次祝好。

5

使用第三方系统是最好的选择。
如果你真的不想或者不能使用第三方的东西,也许简单点的方案就够用了。

其中一个比较简单的算法是小型加密算法(TEA)。这里有一个Python实现的例子,你可以从这个开始。

撰写回答