Feedback

Gibt den MD5 Hash eines Stings als String zurück.

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); 
} 

2 Kommentare

  1. 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_

  2. 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.