Search

Create a MD5 Hash from a string

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")