首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐的Python加密模块?

推荐的Python加密模块?
EN

Stack Overflow用户
提问于 2009-07-16 14:09:40
回答 7查看 28.5K关注 0票数 33

我一直在探索Python可用的加密模块,我找到了3个: ezPyCrypt、yawPyCrypt和KeyCzar (它实际上支持几种语言,但Python也在其中)。前两个依赖于PyCrypto模块。

有没有我遗漏的选择?在易用性和特性方面有明确的领跑者吗?还是仅仅取决于一个人的舒适度?

我现在倾向于KeyCzar,ezPyCrypt紧随其后。

我将使用该库进行数字签名和验证,并可能用于密钥创建(尽管如果我必须调用其他功能来实现该功能,我也不会哭)。

我使用的是Python 3.x,并且可以访问GPG。

EN

回答 7

Stack Overflow用户

发布于 2014-02-26 14:20:09

一个新的Python密码库已经快速开发了几个月。0.2.1版本是几天前才发布的。

https://cryptography.io/en/latest/

它主要是现有C库(如OpenSSL )的CFFI包装器。它是以纯python模块的形式发布的,支持CPython 2.6 - 3.3版本以及PyPy。它也是重构后的pyOpenSSL包的上游。

它的目标是公开高级“食谱”,使密码学尽可能地防止笨蛋,以及只应适当谨慎使用的原语。对称算法(包括AES-GCM)得到了很好的支持,RSA和DSA等非对称算法应该会在接下来的几个版本中出现。支持的其他值得注意的算法包括PBKDF2、HKDF、HOTP和TOTP。

票数 23
EN

Stack Overflow用户

发布于 2014-07-15 20:35:25

另一个要考虑的加密库是PyCryptodome,这是一个支持PyPy和更多原语(SHA-3、Salsa20、scrypt等)的PyCrypto分支。

票数 9
EN

Stack Overflow用户

发布于 2009-07-16 14:51:25

pycrypt实际上是一个简单的AES加密/解密模块,它构建在pycrypto之上,就像您提到的其他模块一样--请注意,后者正在转换为pycrypto.org URL,因为它改变了维护者,并且稳定版本和文档仍在原始作者的site中。除了您提到的更易于使用的包装器之外,pycrypto的一个优点是它的纯python subset随谷歌的应用程序引擎一起提供,所以如果您想在那里部署任何代码,熟悉它将是很有用的。

主要的替代方案(另一个强大而复杂的项目,如pycrypto)是pyopenssl,它是OpenSSL的一个相当常规的包装(作者描述它是一个“薄包装器”)(如果您习惯于用C语言编写代码并调用OpenSSL,这可能是一个优势)。egenix分发了一个完整的(附带所需的库)并且可能在法律上更安全(不包括存在专利争议或疑虑的部分)的替代包。

两个主要项目(pycrypto和pyopenssl)都经历了长时间的不活跃,因为原始作者继续做其他事情,但这两个项目都被积极地开发和维护,这总是一个好兆头。

我不知道pyopenssl之上有易于使用的包装器(很可能有,但它们还没有像pycrypto之上的包装器那样被宣传),所以,如果你确实关心易用性,并且不想自己编写包装器,那么pycrypto之上的包装器似乎是一个更好的选择。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1137874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档