在C#中为大型文件创建校验和的最快方法是什么
我必须在某些计算机上同步大文件。文件最大为6GB。同步将每隔几周进行一次。我不能考虑文件名,因为它们可以随时更改。 我的计划是在目标PC和源PC上创建校验和,然后将带有校验和的所有文件复制到目标中,而校验和尚未在目标中。我的第一次尝试是这样的: using System.IO; using System.Security.Cryptography; private static string GetChecksum(string file) { using (FileStream stream = File.OpenRead(file)) { SHA256Managed sha = new SHA256Managed(); byte[] checksum = sha.ComputeHash(stream); return BitConverter.ToString(checksum).Replace("-", String.Empty); } } 问题是运行时: -带有1.6 GB文件的SHA256-> 20分钟 -带有1.6 GB文件的MD5-> 6.15分钟 是否有更好(更快)的方法来获取校验和(也许具有更好的哈希函数)?