Gerador de UUID Versão 5 (Baseado em Nome SHA-1)

Gere UUIDs consistentes usando namespace e nome com hash SHA-1

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 v5?

Versão 5 do UUID é um identificador de 128 bits baseado em namespace (string de 36 caracteres) definido na RFC 4122. Combina:

  • UUID do namespace: UUID predefinido ou personalizado para delimitar a geração
  • Name: Valor de string definido pelo usuário dentro do namespace
  • Hash SHA-1: Algoritmo criptográfico usado para gerar o resultado

Exemplo de formato: 2ed6657d-e927-5eb1-9a03-0242ac130003

Como o UUID v5 funciona

  1. Selecione um UUID de namespace (predefinido ou personalizado)
  2. Concatene o UUID do namespace e a string do nome
  3. Calcule o hash SHA-1 do valor concatenado
  4. Defina os bits de versão (0101) e os bits de variante (10)
  5. Montar como 32 dígitos hexadecimais com hífens: formato 8-4-4-4-12

Vantagens e considerações

AdvantagesConsiderations
  • Determinístico (mesma entrada = mesmo UUID)
  • Organização com namespace
  • Sem dependência de rede ou tempo
  • Sem preocupações de privacidade (sem endereço MAC)
  • Não ordenado por tempo
  • Mesma entrada sempre cria o mesmo UUID
  • A seleção do namespace impacta a unicidade
  • SHA-1 tem fraquezas criptográficas conhecidas

Estrutura do UUID v5

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

UUID v5 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

Namespaces predefinidos

NamespaceUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Para nomes de domínio
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8Para URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8Para OIDs ISO
DN X.5006ba7b814-9dad-11d1-80b4-00c04fd430c8Para nomes distintos X.500

Casos de uso comuns

  • Endereçamento de conteúdo: IDs consistentes para conteúdo idêntico
  • Sistemas distribuídos: Recursos nomeados entre sistemas
  • Mapeamento de URL: Convertendo URLs em identificadores estáveis
  • Gerenciamento de configuração: Rastreando itens de configuração nomeados
  • Desduplicação de dados: Identificando registros idênticos
  • Federation: Identificadores consistentes entre sistemas

Perguntas frequentes

UUID v5 é melhor que UUID v3?

Sim, para a maioria dos casos de uso. UUID v5 usa SHA-1 que é criptograficamente mais forte que o algoritmo MD5 usado no UUID v3. No entanto, ambos fornecem geração determinística.

Valores UUID v5 podem colidir?

Colisões são teoricamente possíveis, mas extremamente improváveis na prática devido às propriedades do SHA-1. Usar namespaces ou strings de nome diferentes praticamente elimina o risco de colisão.

SHA-1 é seguro o suficiente para UUID v5?

Para propósitos de UUID, SHA-1 permanece adequado apesar de suas fraquezas criptográficas. UUID v5 não é destinado a fins de segurança, mas para gerar identificadores consistentes.

Posso criar meu próprio namespace para UUID v5?

Sim. Embora a RFC 4122 defina namespaces padrão (DNS, URL, OID, X.500), você pode criar namespaces personalizados usando qualquer UUID válido, tipicamente um UUID v4 aleatório.

O mesmo nome sempre gera o mesmo UUID v5?

Sim, mas somente dentro do mesmo namespace. O mesmo nome em namespaces diferentes gerará UUIDs diferentes, o que é uma característica chave para organizar identificadores.

Resources