如何对任何连续下载进行哈希/校验,而不必在本地存储整个文件?

如何对任何连续下载进行哈希/校验,而不必在本地存储整个文件?

如何对任何顺序下载进行哈希/校验,而无需在本地存储整个文件?它需要与任何类型的顺序下载配合使用,因此“基本 HTTP 下载”特定方法(如 httpdirfs、将 curl 管道化为哈希工具和使用 http + 校验和库的 python 脚本)都不起作用。例如,它需要与需要交互式浏览器会话或专有下载软件的文件托管商配合使用。

也许有一个 FUSE 文件系统(或类似文件系统)可以对放入其中的文件进行哈希/校验,但实际上并不存储文件,而是让写入文件系统的程序看起来好像文件已存储(假设程序不会尝试读取文件)?或者人们可以想到其他选择?

简单地写入 tmpfs 是行不通的,因为有些文件比我的可用 RAM 还大。

答案1

这是不可能的。为了在远程文件上运行文件级操作(例如哈希或校验和),您需要使用权到远程文件。您要么需要远程访问托管文件系统,要么将文件下载到本地。

答案2

事实上你需要它来工作任何这种下载意味着这是不可能的:一些下载协议会无序下载片段,这意味着在最坏的情况下,它们可能会最后下载第一个片段,在这种情况下,您需要存储整个文件,但是,您的问题不允许这样做。

相关内容