如果我使用C#通过互联网将文件从计算机A转移到计算机B,使用.NET中的一种方法进行文件传输,那么判断计算机A和计算机B上的文件是否是最佳方法的最佳方法是什么?一样吗?
我认为MD5哈希是一个很好的方式。这似乎是一种被广泛接受的方式。但是,我只是仔细检查是否有更好的方法隐藏在.NET框架中。
谢谢 贝
答案 0 :(得分:7)
MD5是要走的路。
答案 1 :(得分:3)
CRC32或Adler32,比MD5快很多。如果需要检查文件是否被恶意操纵,则应使用MD5。如果没有必要,那就太过分了。
答案 2 :(得分:2)
出于多种原因,SHA2(SHA256,SHA512)算法优于MD5。
.NET中的本机实现是SHA256Cng,SHA384Cng和SHA512Cng。您可以将它们定义为使用配置文件中的< cryptoClass >元素进行散列时使用的默认算法,而不是显式实例化它们。
执行此操作后,您只需编写HashAlgorithm.Create()
或SHA256256.Create()
即可创建本机实例。