直接上代码 一个同步函数一个异步函数
const crypto = require('crypto');
const fs = require('fs');
start();
async function start() {
const hash256 = await createFileHash256() //异步
const hash256Sync = createFileHash256Sync() //同步
console.log(hash256)
console.log(hash256Sync)
}
function createFileHash256() {
//从文件创建一个可读流
return new Promise((resolve, reject) => {
const stream = fs.createReadStream('C:/Users/liujt/Documents/AppDesigner/working/ROOT.war');
const fsHash = crypto.createHash('sha256');
stream.on('data', function (d) {
fsHash.update(d);
});
stream.on('end', function () {
const md5 = fsHash.digest('hex');
resolve(md5);
});
})
}
function createFileHash256Sync() {
const crypto = require('crypto');
const fs = require('fs');
//读取一个Buffer
const buffer = fs.readFileSync('C:/Users/liujt/Documents/AppDesigner/working/ROOT.war');
const fsHash = crypto.createHash('sha256');
fsHash.update(buffer);
const md5 = fsHash.digest('hex');
return md5
}