Skip to content

Commit

Permalink
use node's native crypto module instead of hashlib
Browse files Browse the repository at this point in the history
  • Loading branch information
Prajwal Tuladhar committed Jun 12, 2011
1 parent ab1831b commit d5a5edf
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
12 changes: 9 additions & 3 deletions 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 = [];
Expand Down
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -13,7 +13,6 @@
},
"main": "./lib/sailthru.js",
"dependencies": {
"hashlib": ">=1.0.0"
},
"dev-dependencies": {
"nodeunit": ">=0.5.0",
Expand Down
9 changes: 7 additions & 2 deletions 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
Expand Down

0 comments on commit d5a5edf

Please sign in to comment.