Blame view

node_modules/create-hash/browser.js 625 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  '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))
  }