2022-08-19 19:29:14 +02:00

27 lines
665 B
JavaScript

import crypto from "crypto";
/**
* hashes with the secure hashing algorithm 256
* @param {string} str string to hash
* @param {any} salt salt to apply to string
* @param {number} num amount of times to hash, defaults to 1
* @returns {string} base64 digested hash
*/
function SHA256(str, salt, num) {
if (!num && num !== 0)
num = 1;
if (!str)
return;
let ret = str;
for (let i = 0; i < num; i++) {
ret = crypto
.createHash("sha256")
.update(ret + salt)
.digest("base64");
}
return ret;
}
export { SHA256 };
export default {
SHA256: SHA256
};