import { createHmac } from "crypto"; import grabKeys from "../../utils/grab-keys"; type Param = { password: string; encryptionKey?: string; }; /** * # Hash password Function */ export default function hashPassword({ password, encryptionKey, }: Param): string { const { key } = grabKeys({ encryptionKey }); if (!key?.match(/.{8,}/)) { throw new Error("Encryption key is invalid"); } const hmac = createHmac("sha512", key); hmac.update(password); let hashed = hmac.digest("base64"); return hashed; }