crypto: optimize hashing for browser.

This commit is contained in:
Christopher Jeffrey 2016-11-22 10:46:06 -08:00
parent 008880f40f
commit 9a921ab8f0
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -19,10 +19,14 @@ var backend = exports;
* Hashing
*/
backend.hash = function _hash(alg, data) {
backend._hash = function _hash(alg, data) {
var hash = hashjs[alg];
assert(hash != null, 'Unknown algorithm.');
return new Buffer(hash().update(data).digest());
return hash().update(data).digest();
};
backend.hash = function _hash(alg, data) {
return new Buffer(backend._hash(alg, data));
};
backend.ripemd160 = function ripemd160(data) {
@ -38,11 +42,13 @@ backend.sha256 = function sha256(data) {
};
backend.hash160 = function hash160(data) {
return backend.ripemd160(backend.sha256(data));
var hash = backend._hash('sha256', data);
return backend.hash('ripemd160', hash);
};
backend.hash256 = function hash256(data) {
return backend.sha256(backend.sha256(data));
var hash = backend._hash('sha256', data);
return backend.hash('sha256', hash);
};
backend.hmac = function _hmac(alg, data, key) {