首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用adm-zip获取zip中条目的md5校验和。

使用adm-zip获取zip中条目的md5校验和。
EN

Stack Overflow用户
提问于 2016-07-03 11:04:48
回答 1查看 910关注 0票数 1

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

代码语言:javascript
复制
var zip = new AdmZip(path);
zip.getEntries()
    .map(entry => { console.log(entry.entryName, entry.data); });

可以读取entryName,所以打开和读取zip就可以了。但data总是undefined。我读到data并不是读取条目数据的真正方法,但我不知道如何实际读取它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-03 20:20:41

要读取条目的数据,必须调用entry对象的getData()方法,该方法返回一个Buffer。下面是在我的终端上工作的更新的代码片段:

代码语言:javascript
复制
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');

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38169303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档