mirror of https://gitee.com/zorlan/skycaiji
21 lines
532 B
JavaScript
21 lines
532 B
JavaScript
var type = self.data.type,
|
|
bin = self.data.bin,
|
|
hashOpts = self.data.hashOpts;
|
|
|
|
self.res = {};
|
|
if (type === 'md5') {
|
|
let sp = new self.SparkMD5.ArrayBuffer();
|
|
sp.append(bin);
|
|
self.res.hash = sp.end();
|
|
} else {
|
|
let sha = new jsSHA('SHA' + (type.length === 5? type : ('-' + type)).toUpperCase(), 'ARRAYBUFFER'),
|
|
opts = {};
|
|
if (type === 'ke128') {
|
|
opts.shakeLen = hashOpts.shake128len;
|
|
} else if (type === 'ke256') {
|
|
opts.shakeLen = hashOpts.shake256len;
|
|
}
|
|
sha.update(bin);
|
|
self.res.hash = sha.getHash('HEX', opts);
|
|
}
|