MD5Helper

 1    /// <summary>
 2     /// md5文件加密字符串加密
 3     /// </summary>
 4     public static class MD5Helper
 5     {
 6         /// <summary>
 7         /// 提供字符串根据指定的编码获取MD5值
 8         /// </summary>
 9         /// <param name="str">字符串</param>
10         /// <param name="encoding">编码格式</param>
11         /// <returns>MD5值</returns>
12         public static string GetMd5ByString(string str, Encoding encoding)
13         {
14             MD5 md5 = MD5.Create();
15             byte[] bs = encoding.GetBytes(str);
16             bs = md5.ComputeHash(bs);
17             StringBuilder sb = new StringBuilder();
18             for (int i = 0; i < bs.Length; i++)
19             {
20                 sb.Append(bs[i].ToString("x2"));
21             }
22             return sb.ToString();
23         }
24         /// <summary>
25         /// 提供字符串获取MD5值(UTF-8编码)
26         /// </summary>
27         /// <param name="str">字符串</param>
28         /// <returns>MD5值</returns>
29         public static string GetMd5ByString(string str)
30         {
31             return GetMd5ByString(str, Encoding.UTF8);
32         }
33  
34         /// <summary>
35         /// 根据文件获得MD5值
36         /// </summary>
37         /// <param name="filePath">文件路径</param>
38         /// <returns>MD5值</returns>
39         public static string GetMd5ByFile(string filePath)
40         {
41             //文件不存在
42             if (!File.Exists(filePath))
43             {
44                 throw new Exception("文件不存在");
45             }
46             byte[] bs = MD5.Create().ComputeHash(new FileStream(filePath, FileMode.Open));
47             StringBuilder sb = new StringBuilder();
48             for (int i = 0; i < bs.Length; i++)
49             {
50                 sb.Append(bs[i].ToString("x2"));
51             }
52             return sb.ToString();
53         }
54  
55     }

 

posted @ 2016-01-17 11:53  KotobukiTsumugi  阅读(239)  评论(0)    收藏  举报