我正在存储一些基于校验和的文件,但我发现一个缺陷,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