0

チェックサムに基づいていくつかのファイルを保存していましたが、2つのチェックサムが同じになることがあるという欠陥が見つかりました。

車輪の再発明ではなく、常にAPIを探していますが、何も見つかりません。

コンテンツストレージの標準としてJSR268とJackRabbitがあることは知っていますが、私のアプリはそのようなものを光年使用しています。

では、Javaを使用したシングルインスタンスファイルストレージのアプローチはありますか、それともチェックサムの新しいアルゴリズムを探し続ける必要がありますか?

編集:

numcheckが機能していない場合:2つのファイルはまったく同じですが、ファイルシステムの場所が異なります。ただし、クライアントから送信された場合、サーバー側では以前のパスを知ることができないため、同じファイルが2回、同じチェックサムになります。

どちらかを取得したい場合、どのように確認しますか?

違いを見つけるのに役立つ標準的なアプローチ、API、またはアルゴリズムがあるかどうかを知りたい

4

2 に答える 2

3

ハッシュ アルゴリズムがどれほど強力であっても、衝突の可能性は常にあります。ハッシュ アルゴリズムは、無限の入力から有限数のハッシュを生成します。

于 2011-07-27T00:42:49.853 に答える
0

2 つのファイルが同一でないことを確認する唯一の方法は、ファイルを少しずつ比較することです。それらをハッシュする方が簡単で高速ですが、衝突のリスクが伴います。

于 2011-07-27T00:45:17.727 に答える