because I got bored of customising my CV for every job
1import * as crypto from "node:crypto";
2
3export const generateSecureToken = (): string => {
4 return crypto.randomBytes(32).toString("hex");
5};
6
7export const hashToken = (token: string): string => {
8 return crypto.createHash("sha256").update(token).digest("hex");
9};
10
11export const verifyToken = (
12 providedToken: string,
13 hashedToken: string,
14): boolean => {
15 const providedHash = hashToken(providedToken);
16 return providedHash === hashedToken;
17};