当然在stackoverflow中已经提出了类似的问题,但我不想使用像Crypto之类的任何第三方库。所以我需要从用户电子邮件生成密文并将其解密回明文。我怎么能在python中做到这一点?
答案 0 :(得分:4)
第三方系统是您最好的选择 如果你真的不能/不想使用第三方,也许简单就足够了。
一个更简单的算法是Tiny Encryption Algorithm(TEA)。 Here's an example of a Python implementation that you could start with.
答案 1 :(得分:3)
是的,你可以。 阅读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核心开发人员推荐的扩展。见上文帖子。
再次欢呼。
答案 2 :(得分:1)
如果您想要推出自己的加密系统,那么您可以尝试使用内置的hmac
和hashlib
模块。 (hashlib
是2.5的新增内容,因此如果您必须使用较早的Python,则您的哈希选项是较旧的md5
和sha
模块。)
如果您反对(或被阻止)安装第三方库,但可以使用第三方算法甚至“轻量级”第三方算法实现(例如已发布) Python源代码驻留在单个.py文件中,您可以在不使用setup.py
或任何其他正式安装的情况下自行合并或导入,然后我强烈建议您这样做,因为这些是可能比你自己想出的更好。
我所知道的最小和用户友好的这些被称为 p3 ,由密码学家Paul Rubin编写。原始链接不再有效,但您可以搜索它。谷歌搜索目前产生a near-exact copy以及an adaptation for Python 3。
您还可以尝试使用其中一种单模块,纯Python Rijndael (AES)实现,例如this或this。 (同样,链接不保证是永久性的,因此您可能需要进行一些搜索。)