如何使用文件哈希或使用它使用 Node JS 将文件下载到服务器

How to make use of file hash or its use it downloading a file to a server Using Node JS

我的程序有一个功能,它使用 url 将数千个文件下载到服务器。现在我被告知在下载之前对文件进行哈希处理。那是为了完整性检查吗?校验和是一个好的解决方案吗?还有谁能告诉我在将文件下载到服务器时使用哈希算法的最大用途是什么。是哈希值和校验和 一个解决方案?它会减少我在服务器上的成本吗,因为我们知道在产品中每次“写入”都有成本。在将散列文件下载到服务器之前,任何人都可以向我解释散列文件的真正用途和目的。谢谢你。我们如何将该文件哈希集成到我下面的代码中。非常感谢您的帮助,谢谢。

我将文件下载到服务器的代码

final_list 是 url 的数组

 var download = function (url, dest, callback) {

        request.get(url)
            .on('error', function (err) { console.log(err) })
            .pipe(fs.createWriteStream(dest))
            .on('close', callback);

    };

    final_list.forEach(function (str) {
        var filename = str.split('/').pop();

        console.log('Downloading ' + filename);

        download(str, filename, function () { console.log('Finished Downloading' + "" + filename) });
    });

你应该问 architect/management 你的产品中 checksum/hashing 的真正目的是什么。

哈希在下载很多文件的程序中有两个用途。首先,您可以根据哈希值存储唯一的文件(可能节省几千兆字节 space),其次是使用 virus total 等服务对其进行检查。

hash/checksum 的另一个用例是您可以回应版权声明并删除相同数据的所有副本。

因为您正在下载如此多的文件,在这种情况下,散列和校验和似乎没有太大区别。请参阅此 Q 中针对哈希和校验和解释的详细答案 - Hash Code and Checksum - what's the difference?