-
-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathbrowser.old.js
More file actions
35 lines (27 loc) · 664 Bytes
/
browser.old.js
File metadata and controls
35 lines (27 loc) · 664 Bytes
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
31
32
33
34
35
'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(algorithm) {
var alg = algorithm.toLowerCase();
if (alg === 'md5') {
return new MD5();
}
if (alg === 'rmd160' || alg === 'ripemd160') {
return new RIPEMD160();
}
return new Hash(sha(alg));
};