O que é uma versão de UUID?

Um UUID (Universally Unique Identifier) é um identificador de 128 bits padronizado pelo RFC 4122 e RFC 9562. Todo UUID contém um campo de versão que indica como ele foi gerado. A versão é codificada no 13º dígito hexadecimal (o nibble superior do 7º byte) e determina o algoritmo e as fontes de dados usados para criar o identificador.

Atualmente existem oito versões definidas (v1 a v8), além de duas formas especiais: o UUID Nil (todos os bits em zero) e o UUID Max (todos os bits em um). Cada versão serve a um propósito diferente — algumas incorporam timestamps para ordenação cronológica, outras usam hashes criptográficos para geração determinística, e outras dependem de números aleatórios pela sua simplicidade. Conhecer a versão ajuda a entender as propriedades, as implicações de segurança e o caso de uso pretendido de um UUID.

O campo de variante, codificado separadamente, identifica a qual especificação de UUID o identificador está em conformidade. A maioria dos UUIDs modernos usa a variante RFC 4122/RFC 9562, mas sistemas mais antigos podem produzir variantes NCS ou Microsoft.

Descrição da ferramenta

Esta ferramenta recebe qualquer UUID como entrada e identifica seu número de versão, nome da versão, variante, método de geração e uma descrição detalhada de como essa versão funciona. Ela suporta todas as versões padrão (v1 a v8), bem como UUIDs Nil e Max. Basta colar um UUID e ver instantaneamente sua análise completa.

Exemplos

UUID de entrada Versão Nome
550e8400-e29b-41d4-a716-446655440000 4 Aleatório (v4)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 1 Baseado em tempo (v1)
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 7 Baseado em Unix Epoch Time (v7)
00000000-0000-0000-0000-000000000000 Nil UUID Nil
ffffffff-ffff-ffff-ffff-ffffffffffff Max UUID Max

Funcionalidades

  • Detecta todas as versões de UUID de v1 a v8, além de UUIDs Nil e Max
  • Identifica a variante (RFC 4122/9562, NCS, Microsoft ou Reservada)
  • Exibe uma descrição legível explicando como a versão é gerada
  • Mostra o método de geração usado para produzir o UUID
  • Identificação em tempo real instantânea conforme você digita ou cola

Casos de uso

  • Depuração de sistemas distribuídos: Determine se os UUIDs nos seus logs são baseados em tempo (v1/v6/v7) ou aleatórios (v4) para entender se eles carregam timestamps incorporados que podem ser extraídos.
  • Otimização de banco de dados: Identifique se suas chaves primárias usam uma versão de UUID ordenável (v6, v7) ou uma aleatória (v4) que pode causar fragmentação de índice.
  • Auditoria de segurança: Detecte UUIDs v1 que podem vazar endereços MAC ou timestamps, ajudando a avaliar riscos de divulgação de informações.

Como funciona

A ferramenta analisa a estrutura hexadecimal do UUID para extrair dois campos principais:

  1. Versão: Lida a partir do 13º dígito hex (índice 12 na string hex sem separadores). Este nibble codifica diretamente o número da versão (1–8). UUIDs Nil e Max são detectados verificando se todos os bits são zero ou todos os bits são um.
  2. Variante: Determinada pelos bits mais significativos do 17º dígito hex (índice 16). O padrão de bits mapeia para uma das quatro famílias de variantes: NCS, RFC 4122/9562, Microsoft ou Reservada.

Versões de UUID em resumo

Versão Nome Propriedade principal
v1 Baseado em tempo Timestamp + endereço MAC
v2 DCE Security Timestamp + MAC + POSIX UID/GID
v3 Baseado em nome (MD5) Determinístico a partir de namespace + nome
v4 Aleatório 122 bits aleatórios
v5 Baseado em nome (SHA-1) Determinístico, hash mais forte que v3
v6 Baseado em tempo reordenado Variante ordenável de v1
v7 Baseado em Unix Epoch Time Timestamp Unix em ms + aleatório, ideal para chaves de BD
v8 Personalizado Específico do fornecedor ou experimental
Nil UUID Nil Todos os 128 bits definidos como zero
Max UUID Max Todos os 128 bits definidos como um

Perguntas frequentes

Qual é a diferença entre versão e variante de UUID? A versão indica o algoritmo de geração (baseado em tempo, aleatório, baseado em hash, etc.), enquanto a variante identifica a qual especificação o UUID está em conformidade (RFC 4122, NCS, Microsoft). A maioria dos UUIDs que você encontrará será da variante RFC 4122/9562.

Qual versão de UUID devo usar? Para a maioria das aplicações, v4 (aleatório) é a mais simples e amplamente suportada. Se você precisar de identificadores ordenáveis por tempo para chaves primárias de banco de dados, v7 é a recomendação moderna. Use v5 quando precisar de UUIDs determinísticos derivados de um nome.

Esta ferramenta pode extrair o timestamp de um UUID? Esta ferramenta identifica apenas a versão e a variante. Para extrair timestamps incorporados de UUIDs v1, v6 ou v7, use a ferramenta dedicada UUID Time Extractor.