河豚和河豚有什么区别?

2024-05-14 23:24:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎找不到差异的来源。我在这个在线解密工具中发现了这一点

http://www.tools4noobs.com/online_tools/decrypt/

我有一些加密的河豚数据,我正试图通过Python的PyCrypto模块解密。然而,问题是,数据似乎是用“河豚兼容”加密的,因为这是通过在线工具解密它所需要的;我无法通过PyCrypto的模块解密它,而且我发现它使用严格的河豚鱼解密(而不是河豚兼容,不管是什么)。在

有没有可能通过Python解密blowfish compat?我不知道这两者之间的区别。在


Tags: 模块工具数据comhttpwww来源差异
1条回答
网友
1楼 · 发布于 2024-05-14 23:24:59

好问题。它似乎是mcrypt/libmcrypt程序特有的东西。在

我找不到任何文档,所以我查看了libmcrypt的源代码。它包含两个模块,一个用于河豚,另一个用于河豚兼容。当我看这些的时候,我能看到的唯一区别(警告:我是软件工程师,但不是密码专家)是字节顺序的逻辑被交换了(ifdef WORDS_BIGENDIANifndef WORDS_BIGENDIAN替换——注意“n”)。在

所以我猜它是用来解码大端机上的数据,而这些数据是在小端机上编码的,反之亦然。或者,代码应该遵循一些关于endianness的约定,但是有些库破坏了它,这就弥补了这一点。在

更新啊哈!知道了这一点,在谷歌上搜索“河豚同胞big endian”会得到一个看起来像是确认的结果。请参阅http://www.spinics.net/lists/crypto/msg00175.html-它讨论了一个颠倒顺序的错误实现。在

所以,简而言之,你的数据编码错误。“compat”模式复制错误,以便可以对其进行解码。在

考虑到这一点,除非能找到一个到mcrypt的python接口,否则在python方面似乎很不走运。http://labix.org/python-mcrypt似乎可以工作(pypi页面-http://pypi.python.org/pypi/python-mcrypt)。在

(这是很久以来提供的最有趣的答案之一:o)

噢,我从http://sourceforge.net/projects/mcrypt/获得了源代码,方法是通过下载按钮下的“浏览所有文件”链接(该按钮下载的是mcrypt,而不是libmcrypt)。在

相关问题 更多 >

    热门问题