有一个包含大量文件的硬盘,您如何在其中找到重复文件 我们能做的第一件事就是在FILE_SIZE的基础上分离文件 然后我们可以使用像MD5这样的算法找到每个文件的哈希值,具有相同哈希的算法将是重复的。
除了使用FILE_SIZE之外,任何人都可以介绍一些其他方法来隔离重复文件的候选者。可能使用文件头,扩展名或任何其他想法?
答案 0 :(得分:2)
您可能希望使用多个级别的比较,首先使用快速比较以避免运行速度较慢的比较。建议:
比较文件长度。
然后比较文件的前1K字节。
然后比较文件的最后1K字节。 (文件的第一部分和最后部分更可能包含将要更改的签名,内部校验和,修改数据等。)
比较文件的CRC32校验和。除非您需要关注安全措施,否则请使用CRC而不是加密哈希。 CRC会更快。