use supersha.
This commit is contained in:
parent
1bae307285
commit
97f25f29f5
@ -241,92 +241,79 @@ utils.isBase58 = function isBase58(obj) {
|
|||||||
/**
|
/**
|
||||||
* Hash with chosen algorithm.
|
* Hash with chosen algorithm.
|
||||||
* @param {String} alg
|
* @param {String} alg
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.hash = function _hash(alg, data, enc) {
|
utils.hash = function _hash(alg, data) {
|
||||||
if (!crypto)
|
if (!crypto)
|
||||||
return new Buffer(hash[alg]().update(data, enc).digest());
|
return new Buffer(hash[alg]().update(data).digest());
|
||||||
|
|
||||||
return crypto.createHash(alg).update(data, enc).digest();
|
return crypto.createHash(alg).update(data).digest();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hash with ripemd160.
|
* Hash with ripemd160.
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.ripemd160 = function ripemd160(data, enc) {
|
utils.ripemd160 = function ripemd160(data) {
|
||||||
return utils.hash('ripemd160', data, enc);
|
return utils.hash('ripemd160', data);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hash with sha1.
|
* Hash with sha1.
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.sha1 = function sha1(data, enc) {
|
utils.sha1 = function sha1(data) {
|
||||||
return utils.hash('sha1', data, enc);
|
return utils.hash('sha1', data);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hash with sha256.
|
* Hash with sha256.
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.sha256 = function sha256(data, enc) {
|
utils.sha256 = function sha256(data) {
|
||||||
if (supersha) {
|
if (supersha)
|
||||||
if (typeof data === 'string')
|
|
||||||
data = new Buffer(data, enc);
|
|
||||||
return supersha.sha256(data);
|
return supersha.sha256(data);
|
||||||
}
|
return utils.hash('sha256', data);
|
||||||
return utils.hash('sha256', data, enc);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hash with sha256 and ripemd160 (OP_HASH160).
|
* Hash with sha256 and ripemd160 (OP_HASH160).
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.hash160 = function hash160(data, enc) {
|
utils.hash160 = function hash160(data) {
|
||||||
return utils.ripemd160(utils.sha256(data, enc));
|
return utils.ripemd160(utils.sha256(data));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hash with sha256 twice (OP_HASH256).
|
* Hash with sha256 twice (OP_HASH256).
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.hash256 = function hash256(data, enc) {
|
utils.hash256 = function hash256(data) {
|
||||||
if (supersha) {
|
if (supersha)
|
||||||
if (typeof data === 'string')
|
return supersha.hash256(data);
|
||||||
data = new Buffer(data, enc);
|
return utils.sha256(utils.sha256(data));
|
||||||
return supersha.dsha256(data);
|
|
||||||
}
|
|
||||||
return utils.sha256(utils.sha256(data, enc));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a sha256 checksum (common in bitcoin).
|
* Create a sha256 checksum (common in bitcoin).
|
||||||
* @param {Buffer|String} data
|
* @param {Buffer} data
|
||||||
* @param {String?} enc - Any buffer-supported encoding.
|
|
||||||
* @returns {Buffer}
|
* @returns {Buffer}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.checksum = function checksum(data, enc) {
|
utils.checksum = function checksum(data) {
|
||||||
return utils.hash256(data, enc).slice(0, 4);
|
return utils.hash256(data).slice(0, 4);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -24,9 +24,9 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/indutny/bcoin/issues"
|
"url": "https://github.com/bcoin-org/bcoin/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/indutny/bcoin",
|
"homepage": "https://github.com/bcoin-org/bcoin",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.10.0"
|
"node": ">= 0.10.0"
|
||||||
},
|
},
|
||||||
@ -38,7 +38,8 @@
|
|||||||
"leveldown": "git://github.com/chjj/leveldown.git#staging",
|
"leveldown": "git://github.com/chjj/leveldown.git#staging",
|
||||||
"secp256k1": "3.1.0",
|
"secp256k1": "3.1.0",
|
||||||
"socket.io": "1.4.8",
|
"socket.io": "1.4.8",
|
||||||
"socket.io-client": "1.4.8"
|
"socket.io-client": "1.4.8",
|
||||||
|
"supersha": "0.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"browserify": "13.0.1",
|
"browserify": "13.0.1",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user