python 3的加密工具

Mar*_*aux 16 python cryptography pycrypto python-3.x

我在python 3中编写了一个需要加密函数的程序(至少是aes和rsa).我发现PyCrypto似乎只适用于2.x版本.

是否有任何好的工具可用于python 3或者我应该开始翻译我的程序以兼容python 2(或任何其他解决方案)?

谢谢


更新如下所述,PyCrypto现在可以在py3k上使用

dli*_*itz 15

PyCrypto 2.4.1及更高版本现在可以在Python 3.x上运行(参见changelog diff).

  • 而不是PyCrypto,我现在推荐[PyCryptodome](http://pycryptodome.readthedocs.org/en/latest/)作为PyCrypto的替代品,它仍在积极维护. (2认同)

Len*_*bro 5

虽然Python 3本身已准备好迎接黄金时段,但缺乏支持它的库是一个障碍.你可以做的最好的当然是帮助将PyCrypto移植到Python 3,虽然因为它有很多C扩展模块可能不是完全无关紧要的,并且将会工作几天,我想.也许目前的维护者有兴趣移植或已经在那里中途,你应该联系他并询问.

有一个用Python编写的rsa模块,它看起来具有相当干净且易于移植的代码,但对于aes来说,似乎PyCrypto是要使用的模块.因此,在Python 2下运行软件可能更容易.


Sen*_*ran 5

密码库主要是数值计算,我不知道为什么py3k版本还没有.

  1. 这是Python 3可用的pyDES.
  2. 这是Python 3中的AES算法实现.从此py2k版本移植
  3. 这是Python 3中的RSA算法实现.我从这个py2k版本移植它.

请谨慎使用它们,因为它们只是遵循算法文本实现的开发程序.(也就是说,我不确定原始python2版本的严谨性).此外,它们都是纯python库,它们比使用C-extensions编写的任何东西都要慢(也许这就是为什么py3k版本会被延迟的原因).