2010-02-03 103 views
1

我對文件的校驗和做了澄清。校驗和檢測重複文件和重命名文件

在我的測試應用程序中,我得到了我的原始文件的重複文件相同的校驗和值。另外,當我的原始文件被重命名時,生成的校驗和是相同的。

那麼,我可以使用校驗和來放棄對重複文件或重命名文件的處理。

問候, 國王

回答

1

是的,但你應該使用這種校驗和算法,可以用來爲你的文件生成fingerprints。所有校驗和不適合這個。

0

好,一般是肯定的。這取決於你使用的是什麼類型的Checksum。

0

你應該使用校驗和來決定你可能跳過處理文件。使用文件比較來確定。

如果新文件的內容相同,則新文件的校驗和將與原始文件匹配。它也會匹配其他不相同的文件,因爲無論您使用什麼校驗和方案,都有更多可能的文件內容字符串比校驗和值更多。 (你可以做到這一點很低的概率,但你不能讓問題消失)。

因此,如果文件X(待處理)具有校驗和C,與文件A相同(已經處理),那麼應該怎麼做才能比較X的內容和A的內容。如果它們是相同,你可以使用A的答案作爲X的答案。如果你的校驗和方案完全正常,如果X和A不相同,那麼在比較幾個字節後你會發現。 (你甚至可以先檢查文件大小,但我懷疑這是否會在統計上節省你的時間)。

當然,還有一個計算X校驗和的問題:需要讀取X的所有內容。要計算它,必須讀取所有X.如果生成答案與進行磁盤讀取相比便宜,避免這項工作沒有多少意義。