mirror of
https://codeberg.org/buzzcode2007/FCC-Project-URLShortener.git
synced 2025-05-21 03:06:34 +00:00
import modules hash.js
from https://codeberg.org/buzzcode2007/ShopAI-Extension/src/branch/development-chromium/src/scripts/utils/hash.js
This commit is contained in:
parent
57d21ccf41
commit
e16d41f8e1
1 changed files with 24 additions and 0 deletions
24
scripts/utilities/hash.js
Normal file
24
scripts/utilities/hash.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
class HashTools {
|
||||
static async digest (DATA, OPTIONS) {
|
||||
DATA = {"raw": DATA};
|
||||
DATA[`hashed`] = await(crypto.subtle.digest(((OPTIONS != null && (typeof OPTIONS).includes(`obj`) && !Array.isArray(OPTIONS)) ? OPTIONS[`digestion`] : false) ? OPTIONS[`digestion`] : "SHA-512", (new TextEncoder()).encode(DATA[`raw`])));
|
||||
|
||||
if ((OPTIONS != null && (typeof OPTIONS).includes(`obj`) && !Array.isArray(OPTIONS)) ? OPTIONS[`output`] : false) {
|
||||
switch (OPTIONS[`output`]) {
|
||||
case `Uint8Array`:
|
||||
DATA[`converted`] = new Uint8Array(DATA[`hashed`]);
|
||||
break;
|
||||
case `Array`:
|
||||
DATA[`converted`] = Array.from(new Uint8Array(DATA[`hashed`]));
|
||||
break;
|
||||
case `Number`:
|
||||
DATA[`converted`] = parseInt((Array.from(new Uint8Array(DATA[`hashed`]))).join());
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
return ((DATA[`converted`]) ? DATA[`converted`] : DATA[`hashed`]);
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = {HashTools};
|
Loading…
Add table
Add a link
Reference in a new issue