【问题标题】:Get md5 checksums of entries in zip using adm-zip使用 adm-zip 获取 zip 中条目的 md5 校验和
【发布时间】:2016-07-03 11:04:48
【问题描述】:

我正在尝试获取 ZIP 文件中所有文件的 MD5 校验和。我目前正在为此使用adm-zip,因为我读到我可以将 zip 内容读入内存,而无需将文件提取到磁盘。但我无法读取 ZIP 文件中的条目数据。我的代码如下:

var zip = new AdmZip(path);
zip.getEntries()
    .map(entry => { console.log(entry.entryName, entry.data); });

entryName 可以读取,因此打开并读取 zip 文件即可。但是data 始终是undefined。我读到data 不是真正读取条目数据的方法,但我不确定如何实际读取它。

【问题讨论】:

    标签: node.js zip


    【解决方案1】:

    要读取条目的数据,必须调用条目对象的getData()方法,该方法返回一个Buffer。这是适用于我的更新代码 sn-p :

    var zip = new AdmZip(path);
    zip.getEntries().map(entry => {
      const md5Hash = crypto.createHash('md5').update(entry.getData()).digest('hex');
      console.log(md5Hash);
    });
    

    我使用基本的crypto 模块来生成 md5 哈希(十六进制格式)。不要忘记将它添加到文件顶部的需求列表中:const crypto = require('crypto');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 2010-11-21
      • 2010-09-23
      相关资源
      最近更新 更多