InBlock.gifusing System;
InBlock.gifusing System.Text;
InBlock.gifusing System.Security.Cryptography;
InBlock.gif
InBlock.gifnamespace Common
InBlock.gif{
InBlock.gif/// <summary>
InBlock.gif/// 一个实现MD5散列字符串的类
InBlock.gif/// 作者:周公
InBlock.gif/// 日期:2007
InBlock.gif/// </summary>
InBlock.gifpublicsealedclass MD5Hashing
InBlock.gif        {
InBlock.gifprivatestatic MD5 md5 = MD5.Create();
InBlock.gif//私有化构造函数
InBlock.gifprivate MD5Hashing()
InBlock.gif                {
InBlock.gif                }
InBlock.gif/// <summary>
InBlock.gif/// 使用utf8编码将字符串散列
InBlock.gif/// </summary>
InBlock.gif/// <param name="sourceString">要散列的字符串</param>
InBlock.gif/// <returns>散列后的字符串</returns>
InBlock.gifpublicstaticstring HashString(string sourceString)
InBlock.gif             {
InBlock.gifreturn HashString(Encoding.UTF8, sourceString);
InBlock.gif             }
InBlock.gif/// <summary>
InBlock.gif/// 使用指定的编码将字符串散列
InBlock.gif/// </summary>
InBlock.gif/// <param name="encode">编码</param>
InBlock.gif/// <param name="sourceString">要散列的字符串</param>
InBlock.gif/// <returns>散列后的字符串</returns>
InBlock.gifpublicstaticstring HashString(Encoding encode, string sourceString)
InBlock.gif                {
InBlock.gifbyte[] source = md5.ComputeHash(encode.GetBytes(sourceString));
InBlock.gif                        StringBuilder sBuilder = new StringBuilder();
InBlock.giffor (int i = 0; i < source.Length; i++)
InBlock.gif                        {
InBlock.gif                                sBuilder.Append(source[i].ToString("x2"));
InBlock.gif                        }
InBlock.gifreturn sBuilder.ToString();
InBlock.gif                }
InBlock.gif        }
InBlock.gif}