import "server-only";
import { createHash, randomBytes } from "node:crypto";

/** Erzeugt einen kryptografisch sicheren Roh-Token (für den E-Mail-Link). */
export function generateRawToken(): string {
  return randomBytes(32).toString("hex");
}

/** SHA-256-Hash — nur der Hash wird gespeichert, nie der Roh-Token. */
export function hashToken(raw: string): string {
  return createHash("sha256").update(raw).digest("hex");
}

export const RESET_TOKEN_TTL_MS = 60 * 60 * 1000; // 1 Stunde
