我有两个项目。 panager和panager-android。我使用漩涡哈希算法和相同的数据panager给出不同于panager-android的结果。 panager是用python编写的,panager-android(猜测)用java编写。 我是java的新手,所以放轻松:P
在python中我使用了我在网上找到的模块(whirlpool.py),在java中我使用了jacksum库。
答案 0 :(得分:1)
有不同版本的Whirlpool规范为同一输入生成不同的输出。看起来whirlpool.py
可能正在实现原始的Whirlpool(称为“Whirlpool-0”),而在panager-android中你使用的是Whirlpool-2:
AbstractChecksum encode = JacksumAPI.getChecksumInstance("whirlpool2");
尝试将其更改为“whirlpool0”,看看它是否与您的Python实现相匹配。如果做不到这一点,请尝试“whirlpool1”。
维基百科有known Whirlpool hashes from each version for a given test input,您可以用它来识别受质疑的惠而浦实施版本,或者查看它是否完全错误和破坏。