1

我有两个项目。panagerpanager-android。我使用漩涡哈希算法,并且使用相同的数据 panager 给出的结果与 panager-android 不同。panager 是用 python 编写的,而 panager-android (guess) 是用 java 编写的。我是 Java 新手,所以放轻松:P

在 python 中,我使用在网上找到的模块(whirlpool.py),在 java 中,我使用 jacksum 库。

4

1 回答 1

1

Whirlpool 规范有不同版本,它们为相同的输入生成不同的输出。看起来whirlpool.py可能正在实现原始的 Whirlpool(称为“Whirlpool-0”),而在 panager-android 中您使用的是 Whirlpool-2:

AbstractChecksum encode = JacksumAPI.getChecksumInstance("whirlpool2");

尝试将其更改为“whirlpool0”,看看它是否与您的 Python 实现匹配。如果做不到这一点,请尝试“whirlpool1”。

对于给定的测试输入,维基百科已经知道每个版本的 Whirlpool 哈希值,您可以使用它来识别有问题的 Whirlpool 实现的版本,或者找出它是否完全错误和损坏。

于 2012-12-29T13:00:40.960 回答