pyDes 太慢,有没有更快的 DES 加解密模块

2014-06-19 11:46:44 +08:00
 csx163
在程序中用的这个模块: http://twhiteman.netfirms.com/des.html
可惜太慢了,是否有更快的模块,或者使用PyPy有更好的效能?
6165 次点击
所在节点    Python
9 条回复
yueyoum
2014-06-19 13:37:03 +08:00
pycrypto 之用过这个, DES AES 各种加密 很全。
速度不清楚
soulgain
2014-06-19 13:54:05 +08:00
pycrypto +1
csx163
2014-06-19 16:54:12 +08:00
@yueyoum
@soulgain


很快,测了下有原来1000多倍,3Q
9hills
2014-06-19 17:59:03 +08:00
@csx163 看到Pure Python的,绕着走。。。PyCrypto是C扩展
withrock
2014-06-20 22:24:31 +08:00
pycrypto + 1
提醒一点,我的Windows 7 安装pycrypto后,需要把site-packages里的package名称改成Crypto才可以(默认是crypto),否则提示找不到模块。
ehs2013
2014-06-21 00:29:38 +08:00
PyCrypto +1
这个是剥离出加密模块的

不过也可以试试 M2Crypto
基于 OpenSSL 再包装的
csx163
2014-06-21 13:33:49 +08:00
@9hills 知道的哟
@withrock 没有碰到这个情况
@ehs2013 PyCrypto可以加密,但没有自带PKCS5,M2Crypto自带PKCS5填充么?
withrock
2014-06-21 22:45:07 +08:00
@csx163 的确不是自带PKCS5Padding的,jdk的模块加密的文件用pyCrypto解密就会提示不是8的整数倍。这是我参考网上资料写的PKCS5Padding的实现。
def encrypt(data, key):
k = DES.new(key, DES.MODE_ECB)
data_len = len(data)
if data_len % 8 != 0:
value = 8 - (data_len % 8)
data = data + (value * chr(value))
return k.encrypt(data)
csx163
2014-06-22 15:32:52 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/118359

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX