文件完整性检查

时间:2011-03-01 22:08:34

标签: hash file-sharing data-integrity

我们拥有大型(10+)超大型文件(> 1 GB),我们可以通过网络共享这些文件。偶尔也会有一些较小的文件。

无论如何,我们希望在传输后确保这些文件正确无误。所以我想我可以创建一个工具来计算几个不同的哈希值(SHA1和MD5,也许是CRC32)并将其保存在元数据文件中。接收端的任何人都可以使用该工具验证文件。

我是否应该担心,鉴于文件的大小,损坏的文件可能会与原始文件发生冲突?我并不担心有人故意产生碰撞。

在这种情况下,使用bittorrent也是一个选项,因为它计算了更小的块(几KB到几MB)的SHA1。另一个优点是它甚至可以处理数据传输。但它也增加了不便,因为相同的块可能属于不同的文件 - 在这种情况下,您需要一个文件的“邻居”来验证它。当然我可以添加虚拟填充,但现在我使事情变得复杂。

我知道2 ^ 80甚至2 ^ 64都是相当大的数字,并且哈希被设计为具有“雪崩效应”,所以也许我只是有点偏执。

2 个答案:

答案 0 :(得分:1)

您最好的选择可能是使用专门用于复制大型文件的实用程序,如Robocopy或Teracopy。

除了验证文件完整性之外,这些实用程序还消除了由于Windows资源管理器文件对话框意外弹出而导致副本中止的烦人情况。

答案 1 :(得分:0)

Ultracopier的新版本也可以做到这一点。

演示视频显示断开连接后断开连接,文件完整性正确。

Ultracopier同样多的数据保护机制。