Gerador de UUID

Gere UUIDs v4 aleatórios para seus projetos de desenvolvimento.

Resultado

07b8b897-524e-4315-a0b6-ee2707117146

O que é UUID?

UUID (Universally Unique Identifier), também conhecido como GUID (Globally Unique Identifier), é um identificador de 128 bits padronizado pela RFC 4122 usado para identificar informações de forma única em sistemas computacionais. Diferente de IDs sequenciais (como auto-incremento em bancos de dados), UUIDs podem ser gerados independentemente por qualquer sistema sem risco significativo de duplicação, tornando-os ideais para arquiteturas distribuídas.

UUID v4: A Versão mais Popular

Nosso gerador cria UUIDs na versão 4 (v4), que é baseada em números aleatórios e é a versão mais utilizada em desenvolvimento de software moderno. Um UUID v4 segue o formato xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, onde:

  • Cada x é um dígito hexadecimal aleatório (0-9, a-f)
  • O 4 fixo indica que é versão 4
  • O y é um dos valores 8, 9, a ou b (indica a variante)
  • O resultado é uma string de 36 caracteres (32 hexadecimais + 4 hífens)

A probabilidade de colisão (dois UUIDs v4 serem iguais) é astronomicamente baixa. Para ter 50% de chance de gerar dois UUIDs idênticos, seria necessário gerar aproximadamente 2,71 × 10¹⁸ (2,71 quintilhões) de UUIDs. Na prática, isso torna colisões virtualmente impossíveis.

Versões de UUID

Existem cinco versões principais de UUID, cada uma com características distintas:

  • UUID v1: Baseado em timestamp e endereço MAC. Garante unicidade temporal, mas pode expor informações do dispositivo
  • UUID v2: Similar ao v1, mas incorpora identificadores de domínio POSIX. Raramente usado
  • UUID v3: Gerado a partir de um namespace e um nome usando hash MD5. Determinístico — o mesmo input sempre gera o mesmo UUID
  • UUID v4: Totalmente aleatório. A versão mais popular por sua simplicidade e segurança. É a versão que nosso gerador utiliza
  • UUID v5: Similar ao v3, mas usando hash SHA-1 em vez de MD5. Mais seguro que v3

Quando usar UUID?

  • Chaves primárias em bancos de dados: Especialmente útil em sistemas distribuídos onde múltiplos servidores precisam gerar IDs sem coordenação central
  • APIs REST: Identificar recursos de forma segura em URLs públicas, sem expor IDs sequenciais que poderiam ser adivinhados
  • Sessões e tokens: Criar identificadores de sessão e tokens de autenticação temporários
  • Rastreamento de eventos: Correlacionar logs e eventos em sistemas de microsserviços
  • Upload de arquivos: Gerar nomes únicos para arquivos evitando conflitos
  • Integração entre sistemas: Quando dois sistemas precisam criar referências cruzadas sem compartilhar uma sequência

UUID vs Auto-Incremento: Vantagens e Desvantagens

UUIDs oferecem vantagens significativas em arquiteturas distribuídas, mas também têm desvantagens comparados a IDs numéricos sequenciais:

  • Vantagem: Podem ser gerados em qualquer lugar sem coordenação central
  • Vantagem: Não expõem informações sobre a quantidade de registros
  • Vantagem: Ideais para merge de bancos de dados e sincronização
  • Desvantagem: Ocupam 16 bytes vs 4-8 bytes de um inteiro
  • Desvantagem: Podem ser menos eficientes em índices de banco de dados
  • Desvantagem: Menos legíveis para humanos durante debugging