实现MD5算法

  1. using System;  
  2. using System.Text;  
  3. using System.Security.Cryptography;  
  4.   
  5. namespace Common  
  6. {  
  7.     /// <summary>  
  8.     /// 一个实现MD5散列字符串的类  
  9.     /// 作者:周公  
  10.     /// 日期:2007  
  11.     /// </summary>  
  12.     public sealed class MD5Hashing  
  13.     {  
  14.         private static MD5 md5 = MD5.Create();  
  15.         //私有化构造函数  
  16.         private MD5Hashing()  
  17.         {  
  18.         }  
  19.         /// <summary>  
  20.         /// 使用utf8编码将字符串散列  
  21.         /// </summary>  
  22.         /// <param name="sourceString">要散列的字符串</param>  
  23.         /// <returns>散列后的字符串</returns>  
  24.        public static string HashString(string sourceString)  
  25.        {  
  26.             return HashString(Encoding.UTF8, sourceString);  
  27.        }  
  28.        /// <summary>  
  29.        /// 使用指定的编码将字符串散列  
  30.        /// </summary>  
  31.        /// <param name="encode">编码</param>  
  32.        /// <param name="sourceString">要散列的字符串</param>  
  33.        /// <returns>散列后的字符串</returns>  
  34.         public static string HashString(Encoding encode, string sourceString)  
  35.         {  
  36.             byte[] source = md5.ComputeHash(encode.GetBytes(sourceString));  
  37.             StringBuilder sBuilder = new StringBuilder();  
  38.             for (int i = 0; i < source.Length; i++)  
  39.             {  
  40.                 sBuilder.Append(source[i].ToString("x2"));  
  41.             }  
  42.             return sBuilder.ToString();  
  43.         }  
  44.     }  
  45. }  

posted on 2017-03-06 16:41  可爱的春哥  阅读(208)  评论(0编辑  收藏  举报

导航