Skip to main content
Branchast-1919-deployed-base-20261101
9 lines · 417 BBlameRaw
import {createHmac, timingSafeEqual} from "node:crypto";
export function sign(payload, secret) {
  return "sha256=" + createHmac("sha256", secret).update(payload).digest("hex");
}
export function verify(payload, signature, secret) {
  if (typeof signature !== "string" || !/^sha256=[a-f0-9]{64}$/.test(signature)) return false;
  return timingSafeEqual(Buffer.from(sign(payload, secret)), Buffer.from(signature));
}