计算字符串的 MD5 哈希值,并将该哈希作为 32 字符的十六进制格式字符串返回。
此代码示例中创建的哈希字符串与能创建 32 字符的十六进制格式哈希字符串的任何 MD5 哈希函数兼容。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Security.Cryptography; 6 7 namespace MD5jiami 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Console.WriteLine("请输入一个字符串:"); 14 string md5str=Md5Encrypt(Console.ReadLine()); 15 Console.WriteLine(md5str); 16 Console.ReadKey(); 17 } 18 private static string Md5Encrypt(string input) 19 { 20 //用来计算MD5值的对象 21 using(MD5 md5Hash=MD5.Create()) 22 { 23 //获取字符串对应的byte数组,计算MD5值 24 byte[] md5Byts = md5Hash.ComputeHash(Encoding.Default.GetBytes(input)); 25 //创建一个新的Stringbuilder来收集的字节和创建一个字符串 26 StringBuilder sb = new StringBuilder(); 27 //循环遍历每个字节的散列的数据和每一个十六进制格式字符串 28 29 for (int i = 0; i < md5Byts.Length; i++) 30 { 31 //"x"表示16进制,2表示保留两位,例:2——>02 32 sb.Append(md5Byts[i].ToString("x2")); 33 } 34 //返回十六进制字符串。 35 return sb.ToString(); 36 } 37 38 } 39 } 40 }