Revision a241deb1
lib/crypto.js | ||
---|---|---|
213 | 213 |
|
214 | 214 |
Hash.prototype.digest = function(outputEncoding) { |
215 | 215 |
outputEncoding = outputEncoding || exports.DEFAULT_ENCODING; |
216 |
var ret = this._binding.digest(outputEncoding); |
|
217 |
if (outputEncoding !== 'buffer' && Buffer.isBuffer(ret)) |
|
218 |
ret = ret.toString(outputEncoding); |
|
219 |
return ret; |
|
216 |
return this._binding.digest(outputEncoding); |
|
220 | 217 |
}; |
221 | 218 |
|
222 | 219 |
|
src/node_crypto.cc | ||
---|---|---|
2761 | 2761 |
|
2762 | 2762 |
HandleScope scope; |
2763 | 2763 |
|
2764 |
enum encoding encoding = BUFFER; |
|
2765 |
if (args.Length() >= 1) { |
|
2766 |
encoding = ParseEncoding(args[0]->ToString(), BUFFER); |
|
2767 |
} |
|
2768 |
|
|
2764 | 2769 |
unsigned char* md_value = NULL; |
2765 | 2770 |
unsigned int md_len = 0; |
2766 | 2771 |
Local<Value> outString; |
... | ... | |
2771 | 2776 |
md_len = 0; |
2772 | 2777 |
} |
2773 | 2778 |
|
2774 |
outString = Encode(md_value, md_len, BUFFER); |
|
2779 |
outString = StringBytes::Encode( |
|
2780 |
reinterpret_cast<const char*>(md_value), md_len, encoding); |
|
2775 | 2781 |
|
2776 |
delete [] md_value;
|
|
2782 |
delete[] md_value; |
|
2777 | 2783 |
return scope.Close(outString); |
2778 | 2784 |
} |
2779 | 2785 |
|
Also available in: Unified diff