我正在存儲一些基於校驗和的文件,但我發現一個缺陷,2校驗和有時可能是相同的。單實例文件存儲與JAVA
我總是試圖尋找API而不是重新發明輪子,但我找不到任何東西。
我知道theres JSR 268和JackRabbit作爲內容存儲的標準,但我的應用程序使用這種東西是光年。
那麼,是否有單一的實例文件存儲與Java的方法,或者我應該繼續搜索我的校驗和的新算法?
編輯:
當numcheck不工作:2文件是完全一樣的,只是在不同的文件系統位置。然而,當從客戶端發送來的服務器端不可能知道它們之前的路徑時,所以它是相同的文件兩次,相同的校驗和。
如果你想檢索任何一個,你如何檢查?
想知道是否有一個標準的方法,API或算法,可以幫助我看出其中的區別
使用MD5或SHA1。然後他們不會被複制。 – bmargulies
給你一個不用擔心的想法... [git](http://git-scm.com/)使用SHA-1來識別文件(「blob」)。它無法區分具有相同SHA-1簽名的兩個文件 - 它們被假定爲相同的文件,並且差異會丟失。據我所知,沒有人聲稱丟失了任何文件。 –
@Ed Staub我編寫了一個腳本,將大量色情圖片集的文件名更改爲他們的SHA-1哈希(刪除重複項),並發現了幾個衝突。這不太可能,但它可能發生。 – Christopher