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.