如何获取 Jackrabbit 服务器上文件的校验和?

How to get checksum for a file on Jackrabbit server?

我们有 运行 一个标准的 Jackrabbit WebDAV 服务器并在其中上传了一些文件。

当我们上传同名的新文件时,我们需要检查服务器上的文件是否是最新的并且不应被替换。最初的想法是使用ETags,但我们发现它太弱了,不适合应用。

所以现在的想法是检查传入文件和现有文件的校验和(哈希)。由于文件可能非常大,每次下载都可能是一项耗时的操作,因此最好有一个选项可以轻松获取已上传文件的校验和。

所以我的问题:是否有任何选项可以获取上传到服务器的文件的校验和?也许还有一些其他选项或功能有助于此类文件处理?

您可以为此目的使用 md5 或 shaxxx 哈希。我在 github 上找到了一个预构建的 MD5 Java 脚本库。如果 Java

没有一个,我会感到震惊

以前有 Content-MD5(在 HTTP 规范中,不是 Jackrabbit)。

HTTP 工作组目前正在研究新的摘要类型(请参阅 https://httpwg.org/http-extensions/draft-ietf-httpbis-digest-headers.html),但这仍在进行中,尚未在 Jackrabbit 中实现。

就是说,最终获得哈希可以作为 WebDAV 属性 或使用 WebDAV 扩展报告来实现。