UNPKG

berlioz

Version:

Berlioz - cloud deployment and migration services

42 lines (37 loc) 1.09 kB
const crypto = require('crypto'); const fs = require('fs'); exports.calculateSha256FromBuffer = function(buffer) { return new Promise(function(resolve, reject) { const hash = crypto.createHash('sha256'); hash.on('readable', () => { const data = hash.read(); if (data) { resolve(data.toString('hex')); } else { reject('data not present'); } }); hash.write(buffer); hash.end(); }); } exports.calculateSha256FromStream = function(inputStream) { return new Promise(function(resolve, reject) { const hash = crypto.createHash('sha256'); inputStream.on('readable', () => { const data = inputStream.read(); if (data) { hash.update(data) } else { resolve(hash.digest('hex')); } }); }); } exports.calculateSha256FromFile = function(filePath) { var inputStream = fs.createReadStream(filePath) return exports.calculateSha256FromStream(inputStream) }