MD5摘要恢复下载

Edd*_*sso 5 java md5

我正在从http服务器下载文件,并且必须考虑到在下载期间的随机点,网络连接失败或计算机崩溃.如果发生这种情况,我会使用HTTP"Range:"标题开始恢复下载.

由于下载必须针对MD5哈希进行验证,因此我似乎无法在恢复后使用网络输入流来获取正确的哈希,因为java.security.MessageDigest似乎没有基本上说"从我之前下载的部分md5哈希开始更新当前的md5哈希".

我对md5的内部不太熟悉 - 这在理论上是否可行,是否有一个可以让我这样做的库?

从下载的文件计算md5哈希将是非常昂贵的性能.

kmk*_*lan 3

您可以在向 MD5 提供网络流之前向 MD5 提供您要恢复的文件的内容。

\n\n

如果您自己实现 MD5,您可以保存部分下载的文件的状态,并从那里恢复 MD5 计算。例如,使用此 MD5 实现,它应该像保存/加载com.twmacinta.util.MD5State state内部com.twmacinta.util.MD5. 关于您的评论,请注意,本机实现是完全可选的,它应该在纯 Java 中工作。这是文档中的引用:

\n\n
\n当适当的本机库可用时,此类将尝试使用本机方法快速计算校验和 [\xe2\x80\xa6] 如果未找到该库,代码将回退到默认(较慢)Java 代码。\n
\n