This C# code snippet creates a MD5 hash—a 32-character string of hexadecimal numbers—from a string. Passwords are commonly stored in databases as a hash code.
Call the following code with this method call:
string md5hash = CreateMD5Hash
("abcdefghijklmnopqrstuvwxyz");
md5hash will contain this string: "C3FCD3D76192E4007DFB496CCA67E13B".
using System;
public string CreateMD5Hash (string input)
{
// Use input string to calculate MD5 hash
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes (input);
byte[] hashBytes = md5.ComputeHash (inputBytes);
// Convert the byte array to hexadecimal string
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append (hashBytes[i].ToString ("X2"));
// To force the hex string to lower-case letters instead of
// upper-case, use he following line instead:
// sb.Append(hashBytes[i].ToString("x2"));
}
return sb.ToString();
}
Located in the System.Web.Security namespace, this class can also be used:
FormsAuthentication.HashPasswordForStoringInConfigFile (string, "MD5")