ローカルメタデータをリモートファイルに確実に関連付けますか?
-
05-07-2019 - |
質問
WinForms / C#
私のアプリケーションでは、1)追加情報を2)指定ファイルに指定できます。両方のファイルはサーバーにアップロードされます。 2つの独立したアップロードがあります。最初はファイルであり、その後(おそらく)メタデータです。
ファイルは常に変更されておらず、(コードで)利用可能であると想定してください。
メタデータがアップロードされたら、そのファイル(大きなファイル)を再度アップロードせずに、指定されたファイルに関連付けられていることを確認する必要があります。
私の計画は、ファイルの次の3つの属性のMD5ハッシュを使用することです。
- コンテンツ
- サイズ
- 作成日
ハッシュは、それぞれのアップロード(および最終的な永続性)でファイルとメタデータの両方に付随します。
見落としているスマートなソリューションはどれですか?
解決
MD5ハッシュは十分に一意ではない可能性があるため、MD5の代わりにSHA-1またはさらに優れたSHA-256を使用することを検討できます。他のファイルのサイズとMD5ハッシュに一致するファイルを生成できます。たとえば、 MD5の脆弱性を参照してください。
更新:ファイルの一意性が厳密に重要でない場合は、アップロード中に自動インクリメントIDを生成する方がはるかに便利な場合があります。
所属していません StackOverflow