O que é UUID v3?
UUID versão 3 é um identificador baseado em namespace de 128 bits (string de 36 caracteres) do RFC 4122 que usa hashing MD5. Consiste em:
- Namespace UUID: Um namespace UUID predefinido ou personalizado
- Name: Uma string fornecida pelo usuário que é hasheada
- Hash MD5: Aplicado à combinação namespace + nome
Exemplo de formato: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Como o UUID v3 funciona
- Selecione um namespace UUID (predefinido ou personalizado)
- Concatene os bytes do namespace UUID com os bytes da string do nome
- Calcular hash MD5 do valor concatenado
- Defina os bits de versão para 0011 (versão 3)
- Defina os bits de variante para 10 (padrão RFC 4122)
- Monte como 32 dígitos hexadecimais com hífens: formato 8-4-4-4-12
Vantagens e considerações
Advantages | Considerations |
---|---|
|
|
Estrutura do UUID v3
Bits | Content |
---|---|
0-47 | Primeiros 48 bits do hash MD5 |
48-51 | Versão (0011 para v3) |
52-63 | Próximos 12 bits do hash MD5 |
64-65 | Variante (10 para RFC4122) |
66-127 | 62 bits restantes do hash MD5 |
Namespaces predefinidos
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Nomes de domínio |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | ISO OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | Nomes distintos X.500 |
UUID v3 vs. outras versões
Version | Baseado em | Caso de uso | Privacy |
---|---|---|---|
UUID v1 | Tempo + MAC | IDs ordenados por tempo | ⚠️ Revela MAC |
UUID v3 | Namespace + MD5 | IDs determinísticos | ✅ Privado |
UUID v4 | Random | IDs aleatórios seguros | ✅ Privado |
UUID v5 | Namespace + SHA-1 | IDs determinísticos | ✅ Privado |
UUID v6 | Tempo (reordenado) | IDs ordenáveis | ⚠️ Revela MAC |
UUID v7 | Tempo + aleatório | IDs ordenáveis | ✅ Privado |
Casos de uso comuns
- Identificadores baseados em URL: Criando UUIDs a partir de URLs
- IDs específicos de domínio: Convertendo nomes DNS para UUIDs
- IDs de arquivo determinísticos: Endereçamento de conteúdo
- IDs de usuário: A partir de email ou nome de usuário
- Entradas de configuração: Para chaves consistentes
- Referências de documentos: Sistemas de gerenciamento de conteúdo
Perguntas frequentes
UUID v3 é criptograficamente seguro?
Não realmente. UUID v3 usa MD5, que possui fraquezas criptográficas conhecidas. Para maior segurança, considere UUID v5 (SHA-1) ou UUID v4 (aleatório).
As mesmas entradas sempre produzem o mesmo UUID v3?
Sim. UUID v3 é determinístico - o mesmo namespace e nome sempre produzirão o UUID idêntico, tornando-o útil para IDs reproduzíveis.
Qual a diferença entre UUID v3 e v5?
Eles funcionam de forma idêntica, exceto que v3 usa MD5 enquanto v5 usa SHA-1. UUID v5 é geralmente preferido pois SHA-1 é criptograficamente mais forte que MD5.
Posso criar meus próprios namespaces?
Sim. Embora o RFC 4122 defina namespaces padrão (DNS, URL, OID, X.500), você pode criar namespaces personalizados usando qualquer UUID válido.
UUID v3 é adequado para tokens de segurança?
Não. Devido às fraquezas do MD5 e à natureza determinística, UUID v3 não é recomendado para tokens de segurança ou qualquer coisa que exija imprevisibilidade.