Skip to content

Commit

Permalink
crypto: Pass encodings for Hmac digest
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacs committed May 14, 2013
1 parent c1e8c8d commit a241deb
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
5 changes: 1 addition & 4 deletions lib/crypto.js
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,7 @@ Hash.prototype.update = function(data, encoding) {

Hash.prototype.digest = function(outputEncoding) {
outputEncoding = outputEncoding || exports.DEFAULT_ENCODING;
var ret = this._binding.digest(outputEncoding);
if (outputEncoding !== 'buffer' && Buffer.isBuffer(ret))
ret = ret.toString(outputEncoding);
return ret;
return this._binding.digest(outputEncoding);
};


Expand Down
10 changes: 8 additions & 2 deletions src/node_crypto.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2761,6 +2761,11 @@ class Hmac : public ObjectWrap {

HandleScope scope;

enum encoding encoding = BUFFER;
if (args.Length() >= 1) {
encoding = ParseEncoding(args[0]->ToString(), BUFFER);
}

unsigned char* md_value = NULL;
unsigned int md_len = 0;
Local<Value> outString;
Expand All @@ -2771,9 +2776,10 @@ class Hmac : public ObjectWrap {
md_len = 0;
}

outString = Encode(md_value, md_len, BUFFER);
outString = StringBytes::Encode(
reinterpret_cast<const char*>(md_value), md_len, encoding);

delete [] md_value;
delete[] md_value;
return scope.Close(outString);
}

Expand Down

0 comments on commit a241deb

Please sign in to comment.