Gerador de UUID e NanoID

Gere UUID v4 ou identificadores NanoID com comprimento configurável.

Resultado

Aguardando conteúdo.

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.

Ferramentas relacionadas

Voltar para Desenvolvimento