From 58573c425efe20d64fae570810a3b7ab8cfe162f Mon Sep 17 00:00:00 2001 From: jakub-g Date: Wed, 26 Mar 2014 15:08:59 +0100 Subject: [PATCH] Add murmurhash3 as possible hash Close #6. --- lib/visitors/Hash.js | 10 +++++++++- package.json | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/visitors/Hash.js b/lib/visitors/Hash.js index f8d986a..d4c24e5 100755 --- a/lib/visitors/Hash.js +++ b/lib/visitors/Hash.js @@ -35,10 +35,18 @@ Hash.prototype.onAfterOutputFileBuild = function (packaging, outputFile) { }; Hash.prototype._computeHash = function (filePath) { - var hash = crypto.createHash(this.hash); var content = grunt.file.read(filePath, { encoding : null }); + + if (this.hash == "murmur3") { + content = content.toString(); + var digest = require('murmurhash-js').murmur3(content); + // murmur3 output is 32bit integer, convert it to base36 string (max. 7 chars from [0-9a-z]) + return digest.toString(36); + } + + var hash = crypto.createHash(this.hash); hash.update(content); return hash.digest('hex'); }; diff --git a/package.json b/package.json index 8c27e75..a8a210f 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "main": "lib/main.js", "dependencies": { + "murmurhash-js": "0.0.1", "uglify-js": "2.4.13" }, "devDependencies": {