我有两个项目。 panager和panager-android。我使用漩涡哈希算法,并且使用相同的数据,panager给出的结果与panager-android不同。
panager用python编写,而panager-android(guess)用Java编写。
我是Java的超新手,请放轻松:P
在python中,我使用在网上(whirlpool.py)上找到的模块,而在java中,我使用jacksum库。
最佳答案
惠而浦规范有不同的版本,它们为相同的输入生成不同的输出。看起来whirlpool.py
可能正在实现原始的Whirlpool(称为“ Whirlpool-0”),而在panager-android中,您使用Whirlpool-2:
AbstractChecksum encode = JacksumAPI.getChecksumInstance("whirlpool2");
尝试将其更改为“ whirlpool0”,然后查看它是否与您的Python实现匹配。如果失败,请尝试“ whirlpool1”。
Wikipedia具有known Whirlpool hashes from each version for a given test input,您可以使用它来识别有疑问的Whirlpool实现的版本,或者查明它是否完全错误且已损坏。