2011-05-10 39 views
0

我想保留文件集合的校驗和,以便注意到無聲損壞/位腐爛,因爲我的文件系統(ext4)不在乎,btrfs也不是很值得信任,我想。CRC-32(c)大文件好嗎? (高達100 MB)

這些文件每個文件大小大約爲100 MB,但通常大約爲2至10 MB。 CRC-32(c)是否適合這種用途?哪一個更安全? (也許報廢的CRC一起,使用MD4呢?)的論文「32位循環冗餘碼的互聯網應用」引入CRC-32C只考慮信息多達128個昆明植物研究所:

http://www.ece.cmu.edu/~koopman/networks/dsn02/dsn02_koopman.pdf

我會就像避免將文件分成小塊並散列這些文件一樣。

回答

2

取決於你的意思是「更安全」,以及你是多麼偏執。

如果我想做類似的事情,我會選擇md5或sha512。令人高興的是,已經有應用可以做到這一點,如tripwire

+1

+1。但不要使用MD5。它容易受到基於碰撞的攻擊。不應再使用MD5。 – Heisenbug 2011-05-10 13:58:04

+0

Re tripwire,我在考慮只是將校驗和存儲在xattr中,偶爾用cron作業檢查磁盤。 – pauliq 2011-05-10 14:02:03

+0

我並非試圖防止對校驗和的惡意干擾。 – pauliq 2011-05-10 14:04:04

4

CRC-32或32c應該沒問題。爲了更好的防禦,不用花費太多的代價(特別是在64位平臺上),我會使用64位CRC(CRC-64)。這些可以在維基百科頁面上或通過Google搜索找到。如果你擔心腐敗而不是惡意,那麼MD5和SHA512並不比CRC好,而且計算速度要慢得多。

相關問題