Gerador de UUID
Gere UUIDs v4 aleatórios para seus projetos de desenvolvimento.
Resultado
07b8b897-524e-4315-a0b6-ee2707117146O 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
4fixo 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