C#:Md5和Sha1两种加密方式

8/3/2015来源:C#应用人气:2413

C#:md5和Sha1两种加密方式

1.新建控制台应用程序

2.新建类EncryptHelper.cs

 1     public static class EncryptHelper 2     { 3         /// <summary> 4         /// 基于Md5的自定义加密字符串方法:输入一个字符串,返回一个由32个字符组成的十六进制的哈希散列(字符串)。 5         /// </summary> 6         /// <param name="str">要加密的字符串</param> 7         /// <returns>加密后的十六进制的哈希散列(字符串)</returns> 8         public static string Md5(this string str) 9         {10             //将输入字符串转换成字节数组11             var buffer = Encoding.Default.GetBytes(str);12             //接着,创建Md5对象进行散列计算13             var data = MD5.Create().ComputeHash(buffer);14 15             //创建一个新的Stringbuilder收集字节16             var sb = new StringBuilder();17 18             //遍历每个字节的散列数据 19             foreach (var t in data)20             {21                 //格式每一个十六进制字符串22                 sb.Append(t.ToString("X2"));23             }24 25             //返回十六进制字符串26             return sb.ToString();27         }28 29         /// <summary>30         /// 基于Sha1的自定义加密字符串方法:输入一个字符串,返回一个由40个字符组成的十六进制的哈希散列(字符串)。31         /// </summary>32         /// <param name="str">要加密的字符串</param>33         /// <returns>加密后的十六进制的哈希散列(字符串)</returns>34         public static string Sha1(this string str)35         {36             var buffer = Encoding.UTF8.GetBytes(str);37             var data = SHA1.Create().ComputeHash(buffer);38 39             var sb = new StringBuilder();40             foreach (var t in data)41             {42                 sb.Append(t.ToString("X2"));43             }44             45             return sb.ToString();46         }47     }

3.修改 PRogram.cs 进行输出

 1     class Program 2     { 3         static void Main(string[] args) 4         { 5             const string s = "123456"; 6             Console.WriteLine("密码:"+s); 7  8             Console.WriteLine("Md5:"+s.Md5()); 9             Console.WriteLine("长度:"+s.Md5().Length);10 11             Console.WriteLine("Sha1:" + s.Sha1());12             Console.WriteLine("长度:" + s.Sha1().Length);13 14             Console.Read();15         }16     }
View Code

4.效果图