2011-03-01 217 views
1

我們在我們的網絡中共享大型文件(> 1 GB)。偶爾也會有一些小文件。文件完整性檢查

無論如何,我們希望在傳輸後確保這些文件是正確的。所以我認爲我可以創建一個計算幾個不同散列(SHA1和MD5,也許是CRC32)的工具,並將其保存在元數據文件中。無論誰在接收端,都可以使用該工具驗證文件。

我應該關注的是,考慮到文件的大小,有可能是一個破碎的文件生成與原始文件的衝突?我不擔心有人故意產生碰撞。

在這種情況下,使用BitTorrent是一個選項,以及,因爲它計算許多更小的塊的SHA1(幾KB到幾MB)。另一個優點是它甚至可以處理數據的傳輸。但是這也增加了不便,因爲同一塊可能屬於不同的文件 - 在這種情況下,您需要文件的「鄰居」來驗證它。當然,我可以添加虛擬填充,但現在我變得複雜了。

我知道2^80,甚至2^64是相當大的數字和散列被設計成具有一個「雪崩效應」,所以也許我只是作爲一個小偏執。

回答

1

你最好的選擇可能是使用專門用於複製大文件,像的Robocopy或TeraCopy的設計的工具。

除了驗證文件的完整性,這些工具也消除惱人的情況下副本是由於中止Windows資源管理器的文件對話框意外彈出。

0

Ultracopier新版本可以做到這一點太。

演示視頻顯示斷開連接,斷開連接後恢復,文件完整無誤。

Ultracopier同樣很多的數據保護機制。