demo · build-time
tickets 3456
cada ticket é uma sequência afrs (humanamente legível) + um QR (mecanicamente legível). a verificação faz-se em /scan ou no atelier no dia do evento.
secret de demo embebido no build. em produção: wrangler
secrets + endpoint `/api/verify` server-side.
3456 · sfraaa
ticket nº 001 · iniciado
scan
código afrs
aaaa·aaaa·aaaa·aaaf·frrr·farf·ffra·asaa·aaaa·rsaf·frss·arrr·rsar·afaf·frss
ou escreve este código manualmente em /scan.
3456 · sfraaa
ticket nº 042 · meio
scan
código afrs
aaaa·aaaa·aaaa·arrr·frrr·farf·ffra·asaa·aaaa·arrr·raaf·sass·asfs·sras·arrr
ou escreve este código manualmente em /scan.
3456 · sfraaa
ticket nº 256 · final
scan
código afrs
aaaa·aaaa·aaaf·aaaa·frrr·farf·ffra·asaa·aaaa·fasa·frss·aara·aasa·srfs·sfrr
ou escreve este código manualmente em /scan.
anatomia de um ticket
o payload tem 9 bytes (4 ticket-id + 4 unix-timestamp + 1 flags),
seguido de um MAC truncado a 6 bytes (HMAC-SHA-256 dos primeiros
9 bytes com o secret). total: 15 bytes = 60 chars afrs, separados por ·
a cada 4 (1 byte por chunk).
- aaaa·aaaa·aaaa·aaaf ticketId (uint32 big-endian)
- frrr·faff·aaaf timestamp unix (uint32 BE) + flags
- faaa·aaaa·sfsa·frsf·srfs·frar MAC truncado a 48 bits
forjar = adivinhar 1 em ~280 trilliões. para um evento raro de baixo valor de forja, isto chega.