KO
베타 번역

@core / antispam

1.1.0 ▾
인증됨MIT
GitHub

공개 폼 스팸 방지: 허니팟, 서명된 시간 검사, Turnstile 또는 hCaptcha, Postgres 속도 제한

코드파일 9개컨텍스트약 722토큰검사 통과

.genpmignore 적용 후 주입될 정확한 트리입니다. 고정 대상:

src/lib/antispam/crypto.ts읽기 전용 · 0328b98
// Utilidades criptográficas con Web Crypto (Node, Workers y navegador).
const enc = new TextEncoder();

const hex = (buf: ArrayBuffer) => [...new Uint8Array(buf)].map((b) => b.toString(16).padStart(2, '0')).join('');

export async function sha256Hex(data: string): Promise<string> {
  return hex(await crypto.subtle.digest('SHA-256', enc.encode(data)));
}

export async function hmacHex(secret: string, data: string): Promise<string> {
  const key = await crypto.subtle.importKey('raw', enc.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
  return hex(await crypto.subtle.sign('HMAC', key, enc.encode(data)));
}

export function safeEqual(a: string, b: string): boolean {
  let d = a.length ^ b.length;
  for (let i = 0; i < Math.max(a.length, b.length); i++) d |= (a.charCodeAt(i) || 0) ^ (b.charCodeAt(i) || 0);
  return d === 0;
}

@core/antispam 신고

패키지를 신고하려면 GitHub로 로그인하세요.