"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = hashPassword; const crypto_1 = require("crypto"); const grab_keys_1 = __importDefault(require("../../utils/grab-keys")); /** * # Hash password Function */ function hashPassword({ password, encryptionKey, }) { const { key } = (0, grab_keys_1.default)({ encryptionKey }); if (!(key === null || key === void 0 ? void 0 : key.match(/.{8,}/))) { throw new Error("Encryption key is invalid"); } const hmac = (0, crypto_1.createHmac)("sha512", key); hmac.update(password); let hashed = hmac.digest("base64"); return hashed; }