How do I calculate a MD5 hash from a string?
February 15th, 2007 at 12:09 pm (General)
Hi
Yesterday when i am working on one of my ASP application in which we store the password as MD5 hash in database ..  when i trying to make the Application in C# . I felt diffuclut to convert the password string to MD5 Hash ( which is a 32-character string of hexadecimal numbers). ÂÂ
Then i found a way in asp.net 2.0 we have a namespace called System.Security.Cryptography in the we have the MD5 Hash function .. here is the code to covert string to MD5 Hash
public string CalculateMD5Hash(string input)
{
   // step 1, calculate MD5 hash from input
   MD5 md5 = System.Security.Cryptography.MD5.Create();
   byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
   byte[] hash = md5.ComputeHash(inputBytes);
   // step 2, convert byte array to hex string
   StringBuilder sb = new StringBuilder();
   for (int i = 0; i < hash.Length; i++)
   {
       sb.Append(hash[i].ToString(”X2″));
   }
   return sb.ToString();
}
An example call:
string hash = CalculateMD5Hash(”abcdefghijklmnopqrstuvwxyz”);…returns a string like this:
C3FCD3D76192E4007DFB496CCA67E13BTo make the hex string use lower-case letters instead of upper-case, replace the single line inside the for loop with this line:
sb.Append(hash[i].ToString(”x2″));The difference is the ToString method parameter
Regards,
Elam
