gpt4 book ai didi

javascript - 如何从 Node js 或 javascript 中的流中获取文件的哈希值或校验和

转载 作者:行者123 更新时间:2023-12-02 22:47:27 26 4
gpt4 key购买 nike

我试图从服务器获取文件的校验和或哈希值,而不是将整个文件下载到我的服务器或将其写入我的磁盘,就像从服务器读取数据然后获取哈希值一样。

代码

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) });
});

哈希

   function generateChecksum(str, algorithm, encoding) {
return crypto
.createHash(algorithm || 'md5')
.update(str, 'utf8')
.digest(encoding || 'hex');
}

最佳答案

来自 Node 加密模块的哈希对象是可写流。您可以直接通过管道连接到它们,例如:

request.get(url)
.pipe(crypto.createHash('md5'))
.on('readable', function () {
callback(null, this.read());
});

(错误处理留给读者作为练习,因为 Node 中流的错误处理绝对是最糟糕的。)

关于javascript - 如何从 Node js 或 javascript 中的流中获取文件的哈希值或校验和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58333314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com