Use readFile for hashing instead of stream

This commit is contained in:
Sashko Stubailo
2015-01-13 10:26:56 -08:00
committed by Sashko Stubailo
parent e1bfc9e7f5
commit f947457edf

View File

@@ -10,6 +10,8 @@ var os = require('os');
var util = require('util');
var _ = require('underscore');
var Fiber = require('fibers');
var crypto = require('crypto');
var rimraf = require('./rimraf');
var Future = require('fibers/future');
var sourcemap = require('source-map');
@@ -279,19 +281,14 @@ var makeTreeReadOnly = function (p) {
}
};
var stringHash = function (str) {
return crypto.createHash('sha256').update(str, 'utf8').digest('base64');
};
// Returns the base64 SHA256 of the given file.
files.fileHash = function (filename) {
var crypto = require('crypto');
var hash = crypto.createHash('sha256');
hash.setEncoding('base64');
var rs = files.createReadStream(filename);
var fut = new Future();
rs.on('end', function () {
rs.close();
fut.return(hash.digest('base64'));
});
rs.pipe(hash, { end: false });
return fut.wait();
var contents = files.readFile(filename, "utf-8");
return stringHash(contents);
};
// This is the result of running fileHash on a blank file.