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

Dar*_*mas 30 python encryption aes

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

该库应该支持CBC密码模式,并根据我之前的问题的答案使用PKCS7填充.

该库至少应该适用于Mac OS X(10.4)和Windows XP.理想情况下,只需将其放入我的项目的源目录中.我已经看过Josh Davis的这个,但我不确定它有多好,如果它做了所需的CBC密码模式......扫描源表明它没有

Gab*_*ona 16

PyCrypto应该是适合你的.

  • PyCrypto需要GMP,这需要Make和GCC以及其他一些库和程序 (4认同)
  • @MarioVilas http://pycrypto.org现在重定向到https://www.dlitz.net/software/pycrypto. (4认同)
  • PyCrypto现在似乎已经死了(www.pycrypto.org上的404). (3认同)
  • 请考虑修改此答案。截至2019年3月:不再维护PyCrypto(请参阅https://github.com/dlitz/pycrypto/issues/173和许多其他问题)。积极维护[`pycryptodome`](https://github.com/Legrandin/pycryptodome)和[`cryptography`](https://github.com/pyca/cryptography/)。两者都具有C依赖性。 (3认同)
  • 这应该被删除。根据Github的扫描,该软件包被列为具有未修补的漏洞。没有任何借口继续将人们指向旧图书馆,尤其是在安全领域。 (2认同)

cal*_*er9 13

https://github.com/caller9/pythonaes

这是纯粹的python与PKCS7填充.支持CBC,CFB和OFB模式.

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

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

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

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

  • 哇,你的代码喜欢PyPy:加密速度快4倍. (4认同)

Bli*_*ixt 5

因为我在搜索相同的东西时发现了这个问题,我想在列表中添加另一个:

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

  • 它是纯Python(或其他); 只需查看源代码并使用您需要的内容.http://code.google.com/p/slowaes/source/checkout (2认同)