我如何在文件上执行SHA1哈希?

如果我有一个文件,我想监视任何更改(除了查看文件日期戳等)。

我怎么能对其内容执行SHA1哈希?

认为这就是GIT的作用,所以我只想学习如何做到这一点

using (FileStream stream = File.OpenRead(@"C:\File.ext")) { using (SHA1Managed sha = new SHA1Managed()) { byte[] checksum = sha.ComputeHash(stream); string sendCheckSum = BitConverter.ToString(checksum) .Replace("-", string.Empty); } } 

定期计算校验和。

对于您描述的特定应用程序,找到目录中每个文件的SHA-1哈希,然后将它们一起进行异或运行将很有效。

 byte[] checksum = new byte[sha1Length]; for each file for (int index = 0; index < sha1Length; index++) checksum[index] ^= fileChecksum[index] 

编辑添加:正如评论中指出的,这不会真正起作用。 一个特定的场景将添加两个相同的文件,这将在XOR中相互抵消。 也许创建一个包含所有文件名和时间戳以及文件哈希的流,然后进行散列,以便为您提供所需的内容。

再次编辑:好的,现在你已经改变了你的问题! 所以没关系!