bitcoinjs-lib/src/util.js

26 lines
751 B
JavaScript

var convert = require('./convert.js')
var Crypto = require('crypto-js');
var RIPEMD160 = Crypto.RIPEMD160;
var SHA256 = Crypto.SHA256;
var HMAC= Crypto.algo.HMAC;
/**
* Calculate RIPEMD160(SHA256(data)).
*
* Takes an arbitrary byte array as inputs and returns the hash as a byte
* array.
*/
exports.sha256ripe160 = function (data) {
var wordArray = RIPEMD160(SHA256(convert.bytesToWordArray(data)))
return convert.wordArrayToBytes(wordArray)
}
exports.HmacFromBytesToBytes = function (hasher, message, key) {
var hmac = HMAC.create(hasher, convert.bytesToWordArray(key))
hmac.update(convert.bytesToWordArray(message))
return convert.wordArrayToBytes(hmac.finalize())
}
exports.error = function(msg) {
throw new Error(msg);
}