wallet-core/node_modules/create-hash/browser.js

31 lines
625 B
JavaScript
Raw Normal View History

2017-05-24 15:10:37 +02:00
'use strict'
2017-05-03 15:35:00 +02:00
var inherits = require('inherits')
2018-09-20 02:56:13 +02:00
var MD5 = require('md5.js')
2017-05-24 15:10:37 +02:00
var RIPEMD160 = require('ripemd160')
2017-05-03 15:35:00 +02:00
var sha = require('sha.js')
var Base = require('cipher-base')
2017-05-24 15:10:37 +02:00
function Hash (hash) {
2017-05-03 15:35:00 +02:00
Base.call(this, 'digest')
this._hash = hash
}
inherits(Hash, Base)
Hash.prototype._update = function (data) {
this._hash.update(data)
}
Hash.prototype._final = function () {
return this._hash.digest()
}
module.exports = function createHash (alg) {
alg = alg.toLowerCase()
2018-09-20 02:56:13 +02:00
if (alg === 'md5') return new MD5()
if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()
2017-05-03 15:35:00 +02:00
return new Hash(sha(alg))
}