Migrates all usage of crypto-js/sha256 to ./crypto

This commit is contained in:
Daniel Cousens 2014-04-08 22:13:03 +10:00
parent 81d9c8e759
commit c99a576fbd
11 changed files with 90 additions and 77 deletions

View file

@ -1,9 +1,40 @@
var convert = require('./convert.js')
var Crypto = require('crypto-js')
var RIPEMD160 = Crypto.RIPEMD160
var SHA256 = Crypto.SHA256
// Crypto, crypto, where art thou crypto
var CryptoJS = require('crypto-js')
var crypto = require('crypto')
var convert = require('./convert')
exports.sha256ripe160 = function (data) {
var wordArray = RIPEMD160(SHA256(convert.bytesToWordArray(data)))
return convert.wordArrayToBytes(wordArray)
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 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
}