Gerador de UUID e NanoID
Gere UUID v4 ou identificadores NanoID com comprimento configurável.
O que faz e quando usar
Um identificador permite referir-se a um recurso sem usar sua descrição inteira. Identificadores aleatórios ajudam sistemas independentes a gerar nomes sem um contador central compartilhado. Eles reduzem a chance de colisão, mas não eliminam matematicamente a possibilidade de duas gerações escolherem o mesmo valor.
Como funciona
UUID v4 tem estrutura hexadecimal com bits reservados de versão e variante e usa crypto.randomUUID. NanoID nesta implementação escolhe símbolos de um alfabeto de 64 caracteres a partir de bytes de crypto.getRandomValues. Cada símbolo codifica seis bits de escolha; comprimento maior amplia o espaço de sequências possíveis.
Aplicação prática e conferência
Colisão é gerar o mesmo identificador para dois recursos distintos. O risco depende tanto do espaço de valores quanto de quantos foram gerados. Com mil identificadores, há 1.000×999/2 = 499.500 pares que poderiam coincidir; não é apenas a comparação de uma tentativa com uma anterior. Por isso sequências curtas merecem atenção mesmo quando parecem oferecer muitas combinações. UUID v4 reserva parte de seus bits para indicar versão e variante, que descrevem seu formato; os demais seguem a geração aleatória apropriada. NanoID permite escolher comprimento no alfabeto implementado. Eles são úteis para nomear registros e recursos sem contador central, mas a aplicação ainda deve impor unicidade se duplicatas não forem permitidas.
Exemplo resolvido
No NanoID de comprimento 4, há 64⁴=16.777.216 sequências possíveis. Isso pode parecer muito, mas gerar muitos identificadores reduz a margem contra colisões. Com comprimento 21, o espaço é 64²¹, muito maior. O UUID v4 apresenta uma escrita de 36 caracteres com hífens, cuja estrutura inclui a versão 4 e a variante prevista.
Leitura do resultado e erros comuns
Escolha um formato compatível com o sistema que vai armazená-lo, sem confundir aparência longa com autorização. Saber um identificador de pedido não deveria conceder acesso ao pedido. A geração não cria expiração, revogação ou regras de acesso; essas propriedades pertencem à aplicação que usa o valor.
Limitações e cuidados
NanoID aceita comprimento inteiro de 4 a 128. A geração acontece no navegador e não consulta uma base de unicidade. Comprimentos menores aumentam a possibilidade de colisão para um mesmo volume de registros. Não gera UUID de outras versões nem um token com permissões ou expiração.