【问题标题】:electron - how to generate file checksum电子 - 如何生成文件校验和
【发布时间】:2021-03-19 19:20:13
【问题描述】:

我有一个可以生成加密文件的电子应用程序。我想向用户提供加密文件的校验和,以使用户能够检查文件是否未被修改。如何使用电子和节点 js api 实现这一目标?

【问题讨论】:

    标签: node.js vue.js electron


    【解决方案1】:

    Node.js 具有内置的 crypto 库,其中包含各种不同的加密算法

    const crypto = require('crypto');
    function getChecksum(path) {
        return new Promise((resolve, reject) => {
          // if absolutely necessary, use md5
          const hash = crypto.createHash('sha256');
          const input = fs.createReadStream(path);
          input.on('error', reject);
          input.on('data', (chunk) => {
              hash.update(chunk);
          });
          input.on('close', () => {
              resolve(hash.digest('hex'));
          });
        });
    }
    

    示例用法:

    getChecksum('someFile.txt')
    .then(checksum => console.log(`checksum is ${checksum}`))
    .catch(err => console.log(err));
    

    【讨论】:

    • 不错的解决方案。目前我正在使用加密为文件名生成随机字节。我可以使用ipcRenderer 然后ipcMain 和您的建议解决方案来创建校验和,对吗?如果我需要验证它,我可以使用相同的功能吗?
    • 好的,我在想需要另一个函数来验证校验和。我会将它与包含最后 10 个加密文件校验和的应用程序的内部数据库进行比较。谢谢你的帮助
    猜你喜欢
    • 2012-05-26
    • 2020-07-02
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多