C#用MD5CryptoServiceProvider把字符串加密成32位Hash值

方法1:
    using System.Text;
    using System.Security.Cryptography;


        public string Hash(string toHash)
        {
            MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider();
            byte[] bytes = Encoding.UTF7.GetBytes(toHash);
            bytes = crypto.ComputeHash(bytes);
            StringBuilder sb = new StringBuilder();
            foreach (byte num in bytes)
            {
                sb.AppendFormat("{0:x2}", num);
            }
             return sb.ToString();        //32位
            return sb.ToString().Substring(8,16);        //16位
        }

 

方法2:

16位

   public string GetMd5(string str)
   {
    System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
    string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)),4,8);
    a=a.Replace("-","");
    return a;
   }

32位

   public string GetMd5(string str)
   {
    System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
    string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)));
    a=a.Replace("-","");
    return a;
   }

posted on 2013-08-02 16:55  西湖浪子  阅读(11094)  评论(0)    收藏  举报