Skip to main content
CheckTown
Geradores

Gerador UUID: Crie identificadores únicos para qualquer projeto

Publicado 5 min de leitura
Neste artigo

O Que É um UUID?

Um UUID (Identificador Universalmente Único) é um identificador de 128 bits que garante unicidade no espaço e no tempo sem necessidade de uma autoridade central. Os UUIDs são formatados como 32 dígitos hexadecimais em 5 grupos separados por hífens: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

Existem diversas versões de UUID, cada uma gerada de forma diferente. A versão 4 (aleatória) é a mais amplamente utilizada — gera 122 bits aleatórios, tornando as colisões astronomicamente improváveis (seria necessário gerar mil milhões de UUIDs por segundo durante 85 anos para ter 50% de probabilidade de colisão).

Como Funciona a Geração de UUID

O UUID v4 utiliza geração aleatória criptograficamente segura.

  • Bits aleatórios — são gerados 122 bits aleatórios usando CSPRNG
  • Marcação de versão — os bits 12 a 15 do terceiro grupo são definidos como 0100 para indicar a versão 4
  • Marcação de variante — os bits 6 a 7 do quarto grupo são definidos como 10 para indicar a variante RFC 4122

Experimente gratuitamente — sem cadastro

Gerar UUIDs →

Quando Usar UUIDs

Os UUIDs são o tipo de identificador preferido para sistemas distribuídos e bases de dados.

  • Chaves primárias de bases de dados — utilize chaves primárias UUID em sistemas distribuídos para evitar conflitos de ID durante fusões
  • Tokens de sessão — gere UUIDs para identificadores de sessão e tokens temporários
  • Nomeação de ficheiros — utilize UUIDs para gerar nomes de ficheiros únicos para uploads de utilizadores e recursos gerados

Perguntas Frequentes

Qual é a diferença entre UUID v1, v3, v4 e v5?

O v1 é baseado no tempo e inclui o MAC address, tornando-o rastreável. O v3 e o v5 são determinísticos — fazem hash de um namespace e um nome para produzir sempre o mesmo UUID (o v3 usa MD5, o v5 usa SHA-1). O v4 é aleatório e o mais comumente usado para IDs de uso geral. O v7 (padrão emergente) combina timestamp e aleatoriedade para UUIDs ordenáveis.

Devo usar UUID ou inteiros auto-incrementáveis como chaves primárias de bases de dados?

Os inteiros auto-incrementáveis são mais simples e eficientes em termos de armazenamento. Os UUIDs são mais adequados para sistemas distribuídos, fusão de dados de múltiplas fontes, exposição de IDs em URL sem revelar informações de sequência, e para permitir a geração de IDs do lado do cliente antes da inserção na base de dados. Para aplicações com um único servidor, o auto-incremento é frequentemente suficiente.

Os UUIDs são verdadeiramente únicos?

O UUID v4 tem 2^122 valores possíveis — cerca de 5,3 × 10^36. A probabilidade de gerar dois UUIDs idênticos é tão pequena que é efetivamente zero para qualquer aplicação prática. O paradoxo do aniversário significa que seriam necessários aproximadamente 2,71 quintiliões de UUIDs para ter 50% de probabilidade de colisão.

Ferramentas relacionadas