使用MD5校验和在多个硬盘上搜索重复文件是否安全?

Jon*_*ine 4 python checksum md5

我的任务是整合大约15年的实验室记录,其中大部分是学生作业或原始数据.我们正在谈论100,000多个人工生成的文件.

我的计划是编写一个Python 2.7脚本,它将映射整个目录结构,为每个目录结构创建校验和,然后标记重复项以进行删除.我预计可能会有10-25%的重复.

我的理解是MD5碰撞在理论上是可能的,但是这不太可能,这实际上是一个安全的程序(假设如果发生1次碰撞,我的工作将是安全的).

这是一个安全的假设吗?如果实现很重要,我打算使用的唯一Python库是:

  • hashlib 校验和;
  • sqlite 用于数据处理结果;
  • os 用于目录映射

小智 9

偶然发现两个文件之间发生md5冲突的概率是:

0.000000000000000000000000000000000000002938735877055718769921841343055614194546663891
Run Code Online (Sandbox Code Playgroud)

被15公里大小的小行星击中的概率是0.00000002.我会说是的.

备份文件和测试脚本仍然是一个很好的建议,人为的错误和错误更幸运地发生.