| 123456789101112131415161718192021222324252627282930 | 
							- 'use strict'
 
- var inherits = require('inherits')
 
- var MD5 = require('md5.js')
 
- var RIPEMD160 = require('ripemd160')
 
- var sha = require('sha.js')
 
- var Base = require('cipher-base')
 
- function Hash (hash) {
 
-   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()
 
-   if (alg === 'md5') return new MD5()
 
-   if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()
 
-   return new Hash(sha(alg))
 
- }
 
 
  |