チェックサムに基づいていくつかのファイルを保存していましたが、2つのチェックサムが同じである可能性があるという欠点を発見しました。JAVAを使用した単一インスタンスファイルの保存
私はいつもホイールを再発明する代わりにAPIを探してみるが、何も見つかりません。
私はJSR 268とJackRabbitをコンテンツストレージの標準として認識していますが、私のアプリはそのようなものを使用するには軽い年です。
Javaを使用した単一のInstance File Storageのアプローチがありますか、またはチェックサムの新しいアルゴリズムを探し続けるだけでよいですか?
EDIT:
numcheckが動作していない:2つのファイルは、単に別のファイルシステムの場所で、まったく同じです。しかし、クライアントから送信されたときに、サーバ側では以前のパスを知ることができないので、同じファイルが2回同じチェックサムになります。
いずれかを取得したい場合は、その確認方法を教えてください。
は、標準的なアプローチ、API、または私は
MD5またはSHA1を使用してください。それからそれらは複製されません。 – bmargulies
SHA-1は、[git](http://git-scm.com/)がファイル(「ブロブ」)を識別するために使用します。同じSHA-1署名を持つ2つのファイルを区別することはできません。同じファイルであるとみなされ、その違いは失われます。私が知る限り、誰もファイルを紛失したと主張している人はいません。 –
@Ed Staub大規模なポルノ画像コレクションのファイル名をSHA-1ハッシュ(重複を削除するため)に変更するスクリプトを書いて、いくつかの衝突を発見しました。それは起こりえない可能性があります。 – Christopher