私は約2MBのデータレコードを何百万も持っています。これらのデータはすべてファイルに格納され、そのレコードに関連付けられた一連の他のデータがデータベースに格納されています。MD5を使用して一意に識別できるデータ数(多くのMB)
プログラムが実行されると、データレコードの1つがメモリに表示され、関連するデータを生成する必要があります。これを行うために、私はメモリのMD5をとり、このハッシュをキーとしてデータベースに使用することを想像しています。このキーは他のデータの検索に役立ちます。
データの内容のMD5ハッシュが2MBのデータを一意に識別する適切な方法である場合、つまり、あまりにも多くの衝突について心配することなくMD5ハッシュを使用できますか?
私は衝突の可能性があることを認識しています。何百万という2Mバイトのデータレコードで衝突の可能性はどれくらいありますか?衝突は起こりやすいでしょうか?ハードディスクの故障や他のコンピュータの故障と比べるとどうでしょうか? MD5を安全に識別するために使用できるデータの量何百万ものGBファイルはどうですか?
私は悪意のある行為やデータの改ざんを心配していません。私は操作されたデータを受け取らないような保護を持っています。
年には2^128日間しかありません。 – Gumbo
「10^18〜10^15は一般的なハードディスクの訂正不可能なビット誤り率です。[2]理論上、MD5は128ビットで、約8,200億のドキュメントまでこの範囲にとどまるはずです。 –