首页 > 解决方案 > NTFS 是否存储每个 inode/文件的哈希或 CRC32,如何访问它?

问题描述

我知道如何读取文件,将这些字节传递给哈希算法,例如 MD5SUM、SHA256 或 CRC32,然后获取哈希。

在这里,我要问一些稍微不同的问题:

每次我们在 NTFS 分区上写入/修改文件时,它是否会重新计算哈希或 CRC32 并将此信息存储在 NTFS 元数据/FAT/MFT(主文件表)中(我不记得确切的名称)?

注意:重要的是我只想读取存储在文件系统中的存储哈希/CRC(即读取几个字节,最多应该是几毫秒),而不是重新计算哈希(对于 10 GB 文件)。


如果是这样,如何使用 Python 访问特定文件的 CRC 或哈希?有没有类似的东西:

import ntfsutil
ntfsutil.getCRC('d:/big50GBfile.dat')  # done in < 10 ms

标签: pythonwindowsfilesystemsntfsntfs-mft

解决方案


推荐阅读