// Crypto, crypto, where art thou crypto var CryptoJS = require('crypto-js') var crypto = require('crypto') var convert = require('./convert') function hash160(buffer) { if (!Buffer.isBuffer(buffer)) buffer = new Buffer(buffer) // FIXME: transitionary var step1 = sha256(buffer) var step2a = convert.bytesToWordArray(step1) var step2b = CryptoJS.RIPEMD160(step2a) return new Buffer(convert.wordArrayToBytes(step2b)) } function hash256(buffer) { if (!Buffer.isBuffer(buffer)) buffer = new Buffer(buffer) // FIXME: transitionary return sha256(sha256(buffer)) } function sha1(buffer) { if (!Buffer.isBuffer(buffer)) buffer = new Buffer(buffer) // FIXME: transitionary return crypto.createHash('sha1').update(buffer).digest() } function sha256(buffer) { if (!Buffer.isBuffer(buffer)) buffer = new Buffer(buffer) // FIXME: transitionary return crypto.createHash('sha256').update(buffer).digest() } module.exports = { sha1: sha1, sha256: sha256, hash160: hash160, hash256: hash256 }