3

是否可以检索 ReFS 为完整性流创建的校验和/哈希?我发现这个文档描述了一个新的 API 控制代码:FSCTL_GET_INTEGRITY_INFORMATION,但它似乎只得到了一些关于完整性流的细节,比如校验和类型和块大小,而不是校验和本身。

我对此信息感兴趣,因为我正在编写一个程序,它需要比文件名和时间戳更可靠地识别文件更改,而且我不想重新执行文件系统已经在做的所有校验和,特别是因为我正在处理数 TB 的数据。

4

1 回答 1

1

我认为您不应该直接访问校验和。一个文件中每个 64 KB 集群有一个 CRC64 校验和(对于大文件,您可能会得到大量的校验和)。它们以文件系统的“私有”方式存储,没有我知道的 API 访问权限。根据我对 2012R2 中二进制格式的了解,没有 ADS 可以访问校验和,您必须在分区中挖掘。

至于最初关心的问题,您可能对 FILE_ATTRIBUTE_NO_SCRUB_DATA 感兴趣。其目的是“当应用程序开发人员希望更严格地控​​制何时以及如何清理这些文件时,此属性对于那些维护自己的完整性信息的应用程序很有用。”。这接近你想要的。

此致。

于 2015-06-19T18:46:51.950 回答