1

私には2つのプロジェクトがあります。パナガルパナガル-android。私はワールプールハッシュアルゴリズムを使用していますが、同じデータを使用すると、panagerはpanager-androidとは異なる結果になります。panagerはpythonで書かれ、panager-android(guess)はjavaで書かれています。私はJavaが非常に新しいので、気楽にやってください:P

Pythonではネット上で見つけたモジュール(whirlpool.py)を使用し、Javaではjacksumライブラリを使用します。

4

1 に答える 1

1

同じ入力に対して異なる出力を生成するWhirlpool仕様には異なるバージョンがあります。元のWhirlpool(「Whirlpool-0」と呼ばれる)を実装しているように見えますwhirlpool.pyが、panager-androidではWhirlpool-2を使用します。

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

これを「whirlpool0」に変更して、Pythonの実装と一致するかどうかを確認してください。それができない場合は、「whirlpool1」を試してください。

ウィキペディアは、特定のテスト入力の各バージョンからのワールプールハッシュを知っています。これを使用して、問題のワールプール実装のバージョンを識別したり、完全に間違っていて壊れているかどうかを調べたりできます。

于 2012-12-29T13:00:40.960 に答える