Gerador de UUID Versão 3 (Baseado em Nome MD5)

Gere UUIDs consistentes usando namespace e nome com hashing MD5

Configurações de namespaceSHA-1

UUIDs das versões v3 e v5 requerem um namespace e nome para gerar UUIDs determinísticos.

Deve ser um UUID válido. Use o menu suspenso para selecionar um namespace predefinido.
Qualquer string de texto que será hashada para criar o UUID.

Experimente estes exemplos:

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

  1. Selecione um namespace UUID (predefinido ou personalizado)
  2. Concatene os bytes do namespace UUID com os bytes da string do nome
  3. Calcular hash MD5 do valor concatenado
  4. Defina os bits de versão para 0011 (versão 3)
  5. Defina os bits de variante para 10 (padrão RFC 4122)
  6. Monte como 32 dígitos hexadecimais com hífens: formato 8-4-4-4-12

Vantagens e considerações

AdvantagesConsiderations
  • Geração determinística
  • Mesma entrada = mesmo UUID
  • Nenhum estado necessário
  • Sem preocupações de privacidade
  • MD5 é criptograficamente fraco
  • Não ordenado/ordenável por tempo
  • UUID v5 (SHA-1) preferido
  • Sem tempo de criação embutido

Estrutura do UUID v3

BitsContent
0-47Primeiros 48 bits do hash MD5
48-51Versão (0011 para v3)
52-63Próximos 12 bits do hash MD5
64-65Variante (10 para RFC4122)
66-12762 bits restantes do hash MD5

Namespaces predefinidos

NameUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Nomes de domínio
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8ISO OIDs
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8Nomes distintos X.500

UUID v3 vs. outras versões

VersionBaseado emCaso de usoPrivacy
UUID v1Tempo + MACIDs ordenados por tempo⚠️ Revela MAC
UUID v3Namespace + MD5IDs determinísticos✅ Privado
UUID v4RandomIDs aleatórios seguros✅ Privado
UUID v5Namespace + SHA-1IDs determinísticos✅ Privado
UUID v6Tempo (reordenado)IDs ordenáveis⚠️ Revela MAC
UUID v7Tempo + aleatórioIDs 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.

Resources