Python 3的加密工具
我正在用Python 3写一个程序,需要一些加密功能(至少是AES和RSA)。我发现了PyCrypto这个库,但它似乎只支持2.x版本。
请问有没有适合Python 3的好工具?还是我应该考虑把我的程序改成兼容Python 2的版本(或者其他解决方案)呢?
谢谢!
更新:如下面所提到的,PyCrypto现在已经可以在py3k上使用了。
9 个回答
5
虽然Python 3已经可以正常使用,但目前缺少支持它的库,这让事情变得有些困难。你可以尝试帮助把PyCrypto这个库移植到Python 3上,不过因为它有很多用C语言写的扩展模块,这个工作可能不会太简单,估计需要几天的时间。也许现在的维护者对移植这个库感兴趣,或者已经在进行中,你可以联系他问问。
有一个用Python写的rsa模块,看起来代码比较干净,容易移植,但对于aes来说,似乎还是用PyCrypto这个模块比较合适。所以,可能让你的软件在Python 2上运行会更简单一些。
5
加密库主要是进行数字计算,我也不知道为什么Python 3的版本还没有出来。
- 这里有一个pyDES,可以在Python 3中使用。
- 这里有一个AES算法的实现,适用于Python 3。这个是从Python 2的版本移植过来的。
- 这里有一个RSA算法的实现,适用于Python 3。我是从这个Python 2的版本移植过来的。
请小心使用这些库,因为它们只是根据算法文本实现的开发程序。(也就是说,我不确定原来的Python 2版本的严谨性)。另外,它们都是纯Python库,运行速度会比用C扩展写的要慢(也许这就是Python 3版本发布延迟的原因)。
17
PyCrypto 2.4.1 及以后的版本现在可以在 Python 3.x 上使用了(详细信息请查看 更新日志)。