Method 1 /// <summary> /// 根据文件路径得到文件的MD5值 /// </summary> /// <param name="FilePath">文件的路径</param> /// <returns>MD5值</returns> public static string getMD5(string FilePath) { try { FileStream get_file = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read); System.Security.Cryptography.MD5CryptoServiceProvider get_md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hash_byte = get_md5.ComputeHash(get_file); string resule = System.BitConverter.ToString(hash_byte); resule = resule.Replace("-", ""); return resule; } catch (Exception e) { return e.ToString(); } } 这种方法在遇到文件很大 或者文件数量多一点的时候 就会很辛苦了 不建议使用 建议使用下面的方法 Method 2 // Hash an input string and return the hash as // a 32 character hexadecimal string. static string getMd5Hash(string input) { // Create a new instance of the MD5CryptoServiceProvider object. MD5 md5Hasher = MD5.Create(); // Convert the input string to a byte array and compute the hash. byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input)); // Create a new Stringbuilder to collect the bytes // and create a string. StringBuilder sBuilder = new StringBuilder(); // Loop through each byte of the hashed data // and format each one as a hexadecimal string. for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } // Return the hexadecimal string. return sBuilder.ToString(); }