保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
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))
}