MD5加密
由于MD5是不可逆的,所以加密之后就无法解密.要想匹配两个字段是否一样,只有都对两个字段进行MD5加密再判断。
两个字符串经过MD5 32或者64加密后是一样的,可以用CompareTo()方法比较,返回0和==比较。
1 /// <summary> 2 /// 32位MD5加密,由于MD5是不可逆的,所以加密之后就无法解密 3 /// </summary> 4 /// <param name="str">需加密的字符串</param> 5 /// <returns>加密后的字符</returns> 6 public static string Md5Encryption(string str) 7 { 8 MD5 md5 = new MD5CryptoServiceProvider(); 9 byte[] data = System.Text.Encoding.Unicode.GetBytes(str); 10 byte[] todata = md5.ComputeHash(data); 11 string bytestr = null; 12 for (int i = 0; i < todata.Length; i++) 13 { 14 bytestr += todata[i].ToString("x"); 15 } 16 return bytestr; 17 }
1 /// <summary> 2 /// 64位MD5加密 3 /// </summary> 4 /// <param name="str">需加密的字符串</param> 5 /// <returns>加密后的字符</returns> 6 public static string MD5ToBase64String(string str) 7 { 8 MD5 md5 = new MD5CryptoServiceProvider(); 9 byte[] MD5 = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str));//MD5(注意UTF8编码) 10 string result = Convert.ToBase64String(MD5, 0, MD5.Length);//Base64 11 return result; 12 }

浙公网安备 33010602011771号