This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: MD5-Wert eines Strings
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Immer wieder taucht die Frage auf (obwohl an vielen Stellen im Internet auffindbar), wie denn ein String in einen MD5-Hash umgewandelt werden kann. Hier ein kleines Codesnippet dazu:
public static string GetOneWayHash(string val)
{
byte[] data = System.Text.ASCIIEncoding.ASCII.GetBytes(val);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] res = md5.ComputeHash(data);
return System.Convert.ToBase64String(res, 0, res.Length);
}
Ich m��chte hierzu jedoch einen sehr wichtigen Punkt loswerden, der oftmals falsch interpretiert wird:
Ein MD5 ist ein Hashverfahren und keine Verschl��sselung. Dies bedeutet, dass das Zur��ckgewinnen des urspr��nglichen Wertes im Normalfall nicht m��glich ist. Warum nur im Normalfall: Beispielsweise sollten Passw��rter nie in ihrem originalen Wert abgespeichert werden. Hierf��r bieten sich Hashverfahren ab, die einen Hashvalue errechnen und diesen anstatt des urspr��nglichen Passwortes ablegen. Aus dem resultierenden Wert soll es nicht m��glich sein, das eigentliche Passwort zu errechnen. Im Gegensatz zur Verschl��sselung. Hier ist es von absoluter Wichtigkeit, die urspr��nglichen Daten in derselben Form zur��ck zu erhalten.