标准的MD5加密32位小写的 使用此方法有可能生成小鱼32位的md5 无补位123456789101112131415public static string GetMD5(string myString) { MD5 md5 = new MD5CryptoServiceProvider(); //byte[] fromData = System.Text.Encoding.Unicode.GetBytes(myString); byte[] fromData = System.Text.Encoding.UTF8.GetBytes(myString);// byte[] targetData = md5.ComputeHash(fromData); string byte2String = null; for (int i = 0; i < targetData.Length; i++) { byte2String += targetData[i].ToString("x"); } return byte2String; } 有补位1234567891011121314151617public static string GetMD5(string myString) { MD5 md5 = new MD5CryptoServiceProvider(); //byte[] fromData = System.Text.Encoding.Unicode.GetBytes(myString); byte[] fromData = System.Text.Encoding.UTF8.GetBytes(myString);// byte[] targetData = md5.ComputeHash(fromData); string byte2String = null; for (int i = 0; i < targetData.Length; i++) { //这个是很常见的错误,你字节转换成字符串的时候要保证是2位宽度啊,某个字节为0转换成字符串的时候必须是00的,否则就会丢失位数啊。不仅是0,1~9也一样。 //byte2String += targetData[i].ToString("x");//这个会丢失 byte2String = byte2String+ targetData[i].ToString("x2"); } return byte2String; }