Pular para o conteúdo principal

Gerar UUID

O gerador cria em lote UUID v4 aleatórios com criptografia, UUID v7 ordenáveis por tempo e UUID v1 com registro temporal gregoriano usando a API criptográfica do navegador. Também examina a versão, a variante e o horário de um UUID existente. Nenhum identificador é enviado a um servidor.

Só local
Versão UUID
Opções de formatação
UUIDs gerados (0 no total)

O que é um UUID e como v1, v4 e v7 diferem?

Um identificador universalmente único (UUID), também chamado de GUID, é um valor de 128 bits que identifica entidades em sistemas distribuídos sem depender de um cadastro central. Sua representação comum usa 32 dígitos hexadecimais e quatro hífens.

A RFC 4122 foi a especificação principal por muitos anos. Em maio de 2024, a RFC 9562 a substituiu e padronizou novas versões, entre elas v7, cujo início contém um registro temporal.

Estrutura de um UUID de 128 bits

Na forma canônica, os 32 dígitos hexadecimais são agrupados como 8-4-4-4-12, totalizando 36 caracteres com hífens. Um dígito indica a versão e dois bits indicam a variante.

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

time_low time_mid time_hi clock_seq node

M = versão de 4 bits (1, 4 ou 7)

N = variante RFC 4122 / RFC 9562 (8, 9, a ou b)

UUID v4: aleatoriedade criptográfica

Na versão v4, quatro bits identificam a versão e dois a variante. Sobram 122 bits aleatórios, ou 2¹²² ≈ 5,3 × 10³⁶ valores possíveis. O navegador usa uma fonte criptográfica de aleatoriedade.

Para n UUIDs, a probabilidade aproximada de pelo menos uma colisão é p ≈ 1 − exp(−n² / (2 × 2¹²²)). Ela é muito pequena em volumes usuais. Porém, chaves primárias aleatórias podem reduzir a eficiência dos índices de bancos de dados.

UUID v7 e índices de bancos de dados (RFC 9562)

Em um índice B-tree, uma nova chave v4 pode ocupar qualquer página. Quando o índice ultrapassa a memória, leituras dispersas e divisões de páginas podem aumentar. Chaves ordenáveis por tempo tendem a manter inserções próximas.

UUID v7 começa com 48 bits de tempo Unix em milissegundos. Os bits variáveis restantes podem incluir números aleatórios ou um contador, dependendo da implementação. Isso facilita a ordenação temporal sem um gerador central de IDs.

  1. 48 bits: milissegundos desde a época Unix; o campo alcança o ano 10889.
  2. 12 bits rand_a: aleatoriedade, fração de milissegundo ou contador para valores do mesmo milissegundo.
  3. 62 bits rand_b: aleatoriedade ou sequência adicional; o método exato depende do gerador.

UUID v1: o formato temporal antigo

UUID v1 conta intervalos de 100 nanossegundos desde 15 de outubro de 1582. Historicamente, os 48 bits finais podiam conter o endereço MAC da máquina. Esta ferramenta usa um identificador de nó aleatório.

A disposição dos campos impede que as strings v1 sejam ordenadas cronologicamente sem reorganizar bytes. Para sistemas novos que precisam dessa ordem, v7 evita essa disposição e dispensa um endereço MAC.

  • Ordem dos campos: time_low aparece no começo, embora contenha os bits menos significativos do tempo.
  • Privacidade: implementações antigas podiam incorporar um MAC real e revelar informações do equipamento.

Quais atalhos de teclado o gerador aceita?

Ctrl + Enter / Cmd + EnterGerar imediatamente um novo lote
Tab / Shift + TabNavegar por versões, quantidades e opções de cópia
EscLimpar a entrada de inspeção e redefinir a seleção

Perguntas frequentes

Por que usar v7 em vez de v4 como chave primária?

v4 espalha inserções pelo índice. O registro temporal inicial de v7 permite chaves geralmente ordenadas e pode reduzir divisões de páginas. A ordenação dentro de um mesmo milissegundo depende da implementação.

Qual é a probabilidade de colisão de v4?

v4 tem 122 bits aleatórios. Para n valores, p ≈ 1 − exp(−n² / (2 × 2¹²²)). Mais de 103 trilhões de valores seriam necessários para aproximar uma chance em um bilhão.

Como gerar UUIDs sem contactar um servidor?

O navegador utiliza crypto.randomUUID e crypto.getRandomValues com a fonte criptográfica do sistema operacional. A geração e a inspeção são locais; a ferramenta não transmite os UUIDs.

Qual tempo v1 codifica e por que foi substituído?

v1 conta períodos de 100 nanossegundos desde 15 de outubro de 1582. Versões antigas podiam expor um MAC e suas strings não ordenavam por tempo. v7 usa milissegundos Unix e bits variáveis aleatórios.

Posso gerar milhares de UUIDs para dados de teste?

Sim. São até 5.000 por lote, com opções de letras maiúsculas, hífens, aspas, chaves e separação por linhas, vírgulas ou array JSON.

UUIDs são seguros como tokens?

v4 tem 122 bits aleatórios, mas UUIDs podem aparecer em URLs e logs. Para sessões ou redefinição de senha, use tokens emitidos e revogáveis pelo servidor. v1 e v7 revelam o momento de criação.