Announcement

Collapse
No announcement yet.

Datei hashen mit C# (MD5)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei hashen mit C# (MD5)

    Hiho,

    ich suche nach einer Möglichkeit eine MD5 Hashsumme einer Datei zu erstellen. Weiss jemand wo man ein How-To und/oder Codeschnippsel findet ?!

    Avi

  • #2
    Hallo,

    für diesen Job ist die Klasse <b>MD5CryptoServiceProvider</b> aus dem Namespace <i>System.Security.Cryptography</i> zuständig. Ein Beispiel für den Aufruf der Methode <b>ComputeHash</b> ist auf der Hilfedatei zu dieser Klasse. Der Input kann auch über eine <b>FileStream</b>-Instanz zugeführt werden, so dass das Beispiel für die Hilfe auch für eine Datei passt. Das könnte dann zum Beispiel so aussehen:
    <pre>
    <font color="#003399"><i>//using System.IO;</i></font>
    <font color="#003399"><i>//using System.Security.Cryptography;</i></font>
    <b>private</b> <b>void</b> button1_Click(<b>object</b> sender, System.EventArgs e)
    {
    MD5CryptoServiceProvider aMD5;
    FileStream aFS = <b>new</b> FileStream(@<font color="#9933CC">&quot;C:\Temp\wartung.doc&quot;</font>,
    FileMode.Open, FileAccess.Read);
    <b>byte</b>[] aBuffer;
    aMD5 = <b>new</b> MD5CryptoServiceProvider();
    aBuffer = aMD5.ComputeHash(aFS);
    aFS.Close();
    <b>string</b> sMD5 = Convert.ToBase64String(aBuffer);
    MessageBox.Show(sMD5);
    }
    </pre>
    Wenn die Darstellung des Hash-Wertes als Hex-Zahlen gewünscht wird, hilft bei der Umwandlung die <b>BitConverter</b>-Klasse weiter:
    <pre>
    string sMD5 = BitConverter.ToString(aBuffer);
    </pre&gt

    Comment


    • #3
      Danke, funtzt!
      Doch wiebekomm ich die lästigen "-" bei der ausgabe als HEX weg?

      Comment


      • #4
        OK, hab nen Umweg gefunden;

        string shash = "";
        foreach(byte b in aBuffer)
        {
        shash += b.ToString("X");
        }

        Viellecht gehts trotzdem "kürzer" ? ;

        Comment

        Working...
        X