Erstellt man einen MD5-Hash der Ursprungsdatei kann man diesen mit dem der neu erstellten Datei vergleichen um zu prüfen, ob die Dateien übereinstimmen. Ist das nicht der Fall, so ist beim Download/Upload etwas schief gelaufen.
Einen MD5-Hash kann man ganz einfach wie folgt erstellen.
// Gibt einen MD5-Hash-String für eine Datei zurück
public static string GetMd5HashString(string filePath)
{
     // Datei in neues FileStream-Objekt einlesen
     FileStream fileStream = new FileStream(filePath, FileMode.Open);
     // Neues Objekt für MD5-Kryptographi-Provider erstellen
     MD5 md5 = new MD5CryptoServiceProvider();
     // ByteArray mit MD5-Hash der eingelesenen Datei erstellen
     byte[] fileHash = md5.ComputeHash(fileStream);
     // FileStream mit eingelesener Datei wieder schließen
     fileStream.Close();
     // StringBuilder-Objekt erstellen um anschließend den MD5-Hash als String zu speichern
     StringBuilder sb = new StringBuilder();
     // MD5-Hash (ByteArray) byteweise verarbeiten und an StringBuilder anhängen
     for (int i = 0; i < fileHash.Length; i++)
     {
          sb.Append(fileHash[i].ToString("x2"));
     }
     // MD5-Hash als String ausgeben
     return sb.ToString();
}
Keine Kommentare:
Kommentar veröffentlichen