diff --git a/lib/sailthru_util.js b/lib/sailthru_util.js index 9f53788..4eba2e6 100644 --- a/lib/sailthru_util.js +++ b/lib/sailthru_util.js @@ -1,14 +1,20 @@ (function() { - var SailthruUtil, md5; - md5 = require('hashlib').md5; + var SailthruUtil, crypto; + crypto = require('crypto'); exports.SailthruUtil = SailthruUtil = (function() { function SailthruUtil() {} SailthruUtil.getSignatureHash = function(params, secret) { - return md5(SailthruUtil.getSignatureString(params, secret)); + return SailthruUtil.md5(SailthruUtil.getSignatureString(params, secret)); }; SailthruUtil.getSignatureString = function(params, secret) { return secret + SailthruUtil.extractParamValues(params).sort().join(''); }; + SailthruUtil.md5 = function(data) { + var md5; + md5 = crypto.createHash('md5'); + md5.update(data); + return md5.digest('hex'); + }; SailthruUtil.extractParamValues = function(params) { var k, temp, v, values; values = []; diff --git a/package.json b/package.json index 262ec90..7b22a43 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ }, "main": "./lib/sailthru.js", "dependencies": { - "hashlib": ">=1.0.0" }, "dev-dependencies": { "nodeunit": ">=0.5.0", diff --git a/src/sailthru_util.coffee b/src/sailthru_util.coffee index 1af2d79..aa66ed8 100644 --- a/src/sailthru_util.coffee +++ b/src/sailthru_util.coffee @@ -1,12 +1,17 @@ -{md5} = require('hashlib') +crypto = require 'crypto' exports.SailthruUtil = class SailthruUtil @getSignatureHash: (params, secret) -> - return md5(SailthruUtil.getSignatureString params, secret) + return SailthruUtil.md5(SailthruUtil.getSignatureString params, secret) @getSignatureString: (params, secret) -> return secret + SailthruUtil.extractParamValues(params).sort().join('') + @md5: (data) -> + md5 = crypto.createHash('md5') + md5.update data + return md5.digest 'hex' + @extractParamValues: (params) -> values = [] for k,v of params