使用JAVA的单实例文件存储

时间:2011-07-27 00:34:03

标签: java file-storage jsr sis

我根据校验和存储了一些文件但是我发现了一个有时候2个校验和可以相同的缺陷。

我总是尝试寻找API而不是重新发明轮子,但我找不到任何东西。

我知道JSR 268和JackRabbit是内容存储的标准,但我的应用程序使用这些东西的时间很短。

那么,是否存在使用Java进行单一实例文件存储的方法,还是应该继续为校验和搜索新算法?

编辑:

当numcheck不工作时:2个文件完全相同,只是在不同的文件系统位置。但是,当从客户端发送时,无法在服务器端知道它们之前的路径,因此它是相同的文件两次,相同的校验和。

如果你想找回其中一个,你如何检查?

想知道是否有标准方法,API或算法可以帮助我发现差异

2 个答案:

答案 0 :(得分:3)

无论哈希算法有多强,总有可能出现collision。散列算法从无限多个输入中生成有限数量的散列。

答案 1 :(得分:0)

确保两个文件不相同的唯一方法是逐位比较它们。散列它们更容易,更快,但却带来了碰撞的风险。