Sprache: C#
Gibt den MD5 Hash eines Stings als String zurück.
/// <summary>
/// Gibt einen MD5 Hash als String zurück
/// </summary>
/// <param name="TextToHash">string der Gehasht werden soll.</param>
/// <returns>Hash als string.</returns>
public static string GetMD5Hash(string TextToHash)
{
//Prüfen ob Daten übergeben wurden.
if((TextToHash == null) || (TextToHash.Length == 0))
{
return string.Empty;
}
//MD5 Hash aus dem String berechnen. Dazu muss der string in ein Byte[]
//zerlegt werden. Danach muss das Resultat wieder zurück in ein string.
MD5 md5 = new MD5CryptoServiceProvider();
byte[] textToHash = Encoding.Default.GetBytes (TextToHash);
byte[] result = md5.ComputeHash(textToHash);
return System.BitConverter.ToString(result);
}
/// <summary>
/// Gibt einen MD5 Hash als String zurück
/// </summary>
/// <param name="TextToHash">string der Gehasht werden soll.</param>
/// <returns>Hash als string.</returns>
public static string GetMD5Hash(string TextToHash)
{
//Prüfen ob Daten übergeben wurden.
if((TextToHash == null) || (TextToHash.Length == 0))
{
return string.Empty;
}
//MD5 Hash aus dem String berechnen. Dazu muss der string in ein Byte[]
//zerlegt werden. Danach muss das Resultat wieder zurück in ein string.
MD5 md5 = new MD5CryptoServiceProvider();
byte[] textToHash = Encoding.Default.GetBytes (TextToHash);
byte[] result = md5.ComputeHash(textToHash);
return System.BitConverter.ToString(result);
}
Alte URL:
/snippet/gibt-den-md5-hash-eines-stings-als-string-zurueck/18
Hallo GENiALi,
falls wirklich jemand auf die blöde Idee kommen sollte und der Funktion ein „null“ übergibt, dann wird es mit Deiner Überprüfung [code]if((TextToHash == null) || (TextToHash.Length == 0))
[/code] zu einer „Object reference not set to an object“ Exception kommen.
Besser ist hier: „if(string.IsNullOrEmpty(TextToHash))“.
Aber das macht das Snippet vom Inhalt nicht schlechter 😉
Grüße
_ntr_
Sorry, ist natürlich blödsinn, es gibt keine Exception. Das war ein Denkfehler von mir!
Aber ein IsNullOrEmpty fände ich trotzdem hübscher.
Sorry nochmal.