如何获取一个实体文件的hashcode
我想比较两个文件是否完全相同,如何获得文件的hashcode呢?

解决方案 »

  1.   

    hashcode有很多种,你可以用不同算法计算hashcode,得到不同的hashcode,用hashcode比较文件是否相同不可靠,不过可以大概,最好hashcode相同之后,再比较长度并且比较内容,一般计算hashcode的最常用算法是数字签名散列算法MD5,
      

  2.   

    网上一个计算MD5散列值的例子:public static string MD5Stream(string filePath)
    {
        FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
         MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
        md5.ComputeHash(fs);
        fs.Close();
         byte[] b = md5.Hash;
        md5.Clear();
         StringBuilder sb = new StringBuilder(32);
        for (int i = 0; i < b.Length; i++)
        {
            sb.Append(b[i].ToString("X2"));
        }
         return sb.ToString();
    }