最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从节点js或javascript中的流中获取文件的哈希或校验和

IT培训 admin 7浏览 0评论

如何从节点js或javascript中的流中获取文件的哈希或校验和

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

代码

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的加密模块的哈希对象是可写的流。您可以直接通过管道传递给它们,例如:

如何从节点js或javascript中的流中获取文件的哈希或校验和

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

代码

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的加密模块的哈希对象是可写的流。您可以直接通过管道传递给它们,例如:

发布评论

评论列表 (0)

  1. 暂无评论