2009-07-30 14 views
0

WinForms/C#Zuverlässige Zuordnung lokaler Metadaten zu einer Remote-Datei?

Meine Anwendung ermöglicht dem Benutzer, 1) zusätzliche Informationen für 2) eine bestimmte Datei anzugeben, die beide auf den Server hochgeladen werden. Es gibt zwei isolierte Uploads: zuerst die Datei und (möglicherweise) später die Metadaten.

Bitte gehen Sie davon aus, dass die Datei immer unverändert und verfügbar ist (zum Code).

Wenn die Metadaten hochgeladen werden, muss ich sicherstellen, dass sie mit der angegebenen Datei verknüpft sind, ohne diese Datei erneut hochzuladen (sie sind große Dateien).

Mein Plan ist es, einen MD5-Hash der folgenden drei Attribute der Datei zu verwenden:

  • Inhalts
  • Größe
  • erstellt Datum

Der Hash sowohl die Datei begleiten und die Metadaten in ihren jeweiligen Uploads (und eventuelle Persistenz).

Welche schlauere Lösung übersehe ich?

Antwort

0

Sie können SHA-1 oder besser SHA-256 anstelle von MD5 verwenden, da MD5-Hashes möglicherweise nicht eindeutig genug sind: Es ist möglich, eine Datei mit Größe und MD5-Hash zu erzeugen, die denen anderer Dateien entspricht. Siehe beispielsweise MD5 vulnerability.

Upd: Wenn Dateieindeutigkeit nicht unbedingt wichtig ist, finden Sie möglicherweise viel bequemer, nur eine automatisch inkrementierte ID während des Uploads zu generieren.

+0

Kudos über die Erwähnung der anderen Algorithmen. Ich denke über sie nach. Betreff: die ID - Ich habe keinen Datenspeicher lokal, so dass diese Lösung leider nicht passt. – lance