计算md5的值

 /// <summary>         /// 得到字符串的MD5散列值         /// </summary>         /// <param name="input"></param>         /// <returns></returns>        

public static String GetMD5(this string input)       

  {         

    System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();            

byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);       

      bs = x.ComputeHash(bs);           

  System.Text.StringBuilder s = new System.Text.StringBuilder();       

      foreach (byte b in bs)        

     {              

   s.Append(b.ToString("x2").ToLower());         

    }            

return s.ToString();     

    }

        /// <summary>         /// 计算文件的MD5值         /// </summary>         /// <param name="filepath"></param>         /// <returns></returns>         public static String GetStreamMD5(Stream stream)         {             string strResult = "";             string strHashData = "";             byte[] arrbytHashValue;             System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher =                 new System.Security.Cryptography.MD5CryptoServiceProvider();             arrbytHashValue = oMD5Hasher.ComputeHash(stream); //计算指定Stream 对象的哈希值             //由以连字符分隔的十六进制对构成的String,其中每一对表示value 中对应的元素;例如“F-2C-4A”             strHashData = System.BitConverter.ToString(arrbytHashValue);             //替换-             strHashData = strHashData.Replace("-", "");             strResult = strHashData;             return strResult;         }

posted on 2013-04-14 23:57  平小  阅读(197)  评论(0编辑  收藏  举报