このアプリケーションでは、ユーザーがさまざまなドキュメントを生成して送信できるようにします。これらのいくつかは常に一意ですが、それらの大部分は静的です。実際のデータに FileStream を使用して、ファイルを SQL 2008 DB に保存します。ファイルが既に保存されていることを検出する方法を探しているので、重複を保存しません。
MD5 を使用してハッシュを生成し、そのハッシュを SQL データベースへのキーとして使用することを考えています。私が恐れているのは、衝突が発生する可能性です。
私が持っているいくつかの質問は次のとおりです。
1: ハッシュで衝突が発生する可能性は? 一意のキーは、ファイル名、ファイルのサイズ、およびハッシュの組み合わせとして扱う必要がありますか?
2: 得られたハッシュをデータベースに保存するものは何ですか? バイナリフィールドとして保存する必要がありますか?