如何使用自动化工具检查通过网络复制的文件的完整性?

时间:2014-04-09 11:49:54

标签: java apache-commons-vfs

我想以编程方式检查我正在复制到共享文件夹的文件的完整性,这是由自动化工具执行的一组步骤的一部分,所以我正在寻找最好的(最优雅的)在不涉及手动操作的情况下使其更可靠的方法。

关于共享文件夹:它是一个存储服务器,我不能在那里部署我的任何东西。考虑联系拥有服务器的人以便他们提供我需要的信息(即SHA-256哈希)会不会有意思?任何替代方案?

2 个答案:

答案 0 :(得分:1)

如果您被允许下载上传的文件,请通过计算和检查哈希来检查计算机的完整性。或者下载需要很长时间吗?

更新:

我认为我们需要一些先决条件或假设,我们可以依靠这些先决条件或假设来讨论正确的解决方案。我们可以依靠这个吗?

  • 上传很可能是错误的(成功的概率为p)
  • 下载很可能是错误的(以q的概率成功)

因此,上传文件并再次下载应该以p * q的概率成功。如果p * q非常高并且下载上传文件的成本很低,那么检查本地计算机上的哈希是否合适,对吧?

答案 1 :(得分:1)

除了在sftp或https协议中执行的检查之外,Apache Commons VFS不提供对此的支持。如果您的服务器不合作,上传额外的文件,如.sha1或.md5(或PGP .asc签名)是常见的做法。对于VFS,这只是第二个要上传/下载的文件。