【发布时间】:2021-03-19 19:20:13
【问题描述】:
我有一个可以生成加密文件的电子应用程序。我想向用户提供加密文件的校验和,以使用户能够检查文件是否未被修改。如何使用电子和节点 js api 实现这一目标?
【问题讨论】:
我有一个可以生成加密文件的电子应用程序。我想向用户提供加密文件的校验和,以使用户能够检查文件是否未被修改。如何使用电子和节点 js api 实现这一目标?
【问题讨论】:
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 和您的建议解决方案来创建校验和,对吗?如果我需要验证它,我可以使用相同的功能吗?