1

我们有大量(10 多个)非常大的文件(> 1 GB),我们在我们的网络中共享这些文件。偶尔也会有一些较小的文件。

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

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

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

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

4

2 回答 2

1

您最好的选择可能是使用专门为复制大文件而设计的实用程序,例如 Robocopy 或 Teracopy。

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

于 2011-03-01T22:12:09.530 回答
0

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

演示视频显示断线和断线后恢复,文件完整性正确。

超复印机同样有很多数据保护机制。

于 2012-07-18T22:53:42.867 回答