什么(纯)Python库用于AES 256加密?

时间:2008-10-05 19:14:49

标签: python encryption aes

我正在寻找一个(最好是纯粹的)python库来进行AES 256加密和解密。

此库应支持CBC密码模式并使用PKCS7填充according to the answer to an earlier question of mine

该库至少可以在Mac OS X(10.4)和Windows XP上运行。理想情况下,只需将其放入我的项目的源目录中。我见过this by Josh Davis,但我不确定它有多好,是否有所需的CBC密码模式...扫描来源暗示它没有

5 个答案:

答案 0 :(得分:19)

PyCrypto应该适合你。

答案 1 :(得分:13)

https://github.com/caller9/pythonaes

这是带有PKCS7填充的纯python。支持CBC,CFB和OFB模式。

问题是python对于这类事物并不是超级快。来自serprex的fork的代码有点难以理解,但由于使用各种技巧来挤压Python的最后一点速度,所以比我快得多。

实际上,最好的库是编译并挂钩到SSE / MMX的东西。

此外,自Core(tm)芯片系列以来,英特尔正在使用AES指令。

我编写了我的版本以获得真正的纯Python版本,以便能够在任何架构,跨平台以及3.x和2.7上运行。

答案 2 :(得分:5)

由于我在搜索相同的内容时发现了这个问题,我想在列表中添加另一个:

SlowAES - http://code.google.com/p/slowaes/
在其他人的帮助下,这是Josh Davis代码的发展。它似乎工作正常。

答案 3 :(得分:4)

ncrypt怎么样?它不是纯粹的python,但结果却快得多。它基本上是OpenSSL上的一个很好的python包装器,所以你知道它背后有质量代码。

答案 4 :(得分:2)

PyCrypto显然不是pythonic所以你可能会在某些平台(AIX,HP-UX等)上编译它们会遇到麻烦