"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;
}