Validador CUID2
Valide IDs no formato CUID2 (collision-resistant, 24 chars, base36, prefixo letra), retornando se é sintaticamente válido.
CUID2 (Collision-resistant Unique IDentifier 2): 24 caracteres, base36 (a-z + 0-9), começa com letra.
O que é um CUID2?
O CUID2 (Collision-resistant Unique IDentifier, versão 2) é um esquema moderno para gerar ids únicos em sistemas distribuídos. É o sucessor do hoje obsoleto CUID v1, redesenhado com segurança e privacidade como objetivos principais. Um CUID2 se parece com tz4a98xxat96iws9zmbrgj3a: apenas caracteres base36 minúsculos.
Regras de formato
- Os caracteres são base36 minúsculo: dígitos
0-9e letrasa-z. - O id DEVE começar com uma letra, nunca com um dígito.
- O comprimento padrão é 24 caracteres, mas é configurável de 2 a 32.
- Sem hifens, sem maiúsculas, sem caracteres especiais.
A validação, portanto, checa o conjunto de caracteres, a regra da letra inicial e a faixa de comprimento.
Por que CUID2 em vez de CUID v1
O CUID v1 embutia um timestamp, um contador e uma impressão digital do host, o que podia vazar informação (hora de criação, taxa de geração, identidade da máquina). O CUID2, em vez disso, faz hash de um conjunto de entropia com SHA3, de modo que a saída não vaza esses metadados. O custo dessa escolha: um CUID2 não é ordenável lexicograficamente por hora de criação. Se você precisa de ids que ordenem cronologicamente, use ULID ou UUIDv7.
CUID2 vs outros esquemas de id
- UUID — 128 bits, hexadecimal com hifens; padronizado, porém mais longo e (na v4) aleatório.
- NanoID — compacto, alfabeto configurável; ótimo para URLs, mas sem garantias de privacidade por design.
- ULID — ordenável no tempo e base32 de Crockford; trade-off oposto ao do CUID2.
- CUID2 — privacidade em primeiro lugar, resistente a colisões, mas não ordenável.
Pegadinhas comuns
- Aceitar um id que começa com dígito — inválido para CUID2.
- Aceitar letras maiúsculas; o CUID2 é estritamente minúsculo.
- Supor que dá para ordenar registros pelo CUID2 e obter ordem cronológica — não dá.
- Confundir o CUID2 com o CUID v1 obsoleto (que começava com a letra
ce era mais longo).
FAQ
Dois CUID2 podem colidir? O design torna colisões astronomicamente improváveis entre geradores distribuídos, que é justamente o objetivo — mas nenhum esquema é matematicamente livre de colisão, então é "resistente a colisões", não "impossível de colidir".
Por que não usar simplesmente UUIDv4? Ambos são aleatórios e não ordenáveis; o CUID2 é mais curto, amigável para URL (sem hifens) e explicitamente endurecido contra vazamento de metadados.
Qual comprimento devo usar? O padrão de 24 é um bom equilíbrio. Ids mais curtos aumentam o risco de colisão; só vale aumentar para geração em volume extremamente alto.
Ferramentas Relacionadas
Validador de CPF
Valide CPFs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.
Validador de CPF em Lote
Valida uma lista de CPFs (um por linha) e mostra quais são válidos e quais são inválidos. Sem envio para servidores.
Validador de CNPJ em Lote
Valida uma lista de CNPJs (um por linha) e mostra resumo: válidos, inválidos e total. Sem envio para servidores.