What is the difference between using MD5.Create and MD5CryptoServiceProvider?
Posted
by byte
on Stack Overflow
See other posts from Stack Overflow
or by byte
Published on 2010-04-08T02:11:23Z
Indexed on
2010/04/08
2:13 UTC
Read the original article
Hit count: 366
In the .NET framework there are a couple of ways to calculate an MD5 hash it seems, however there is something I don't understand;
What is the distinction between the following? What sets them apart from eachother? They seem to product identical results:
public static string GetMD5Hash(string str)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytes = ASCIIEncoding.Default.GetBytes(str);
byte[] encoded = md5.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encoded.Length; i++)
sb.Append(encoded[i].ToString("x2"));
return sb.ToString();
}
public static string GetMD5Hash2(string str)
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] bytes = Encoding.Default.GetBytes(str);
byte[] encoded = md5.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encoded.Length; i++)
sb.Append(encoded[i].ToString("x2"));
return sb.ToString();
}
© Stack Overflow or respective owner