Decodificador e Validador de UUID | Análise de Versões (v1, v4, v7) e Tempo

Insira seu UUID no campo acima e esta ferramenta (UUID Parser) realizará instantaneamente uma verificação online, determinará a versão, a validade e extrairá informações ocultas.

O que é um Decodificador de UUID?

Um Decodificador de UUID é uma ferramenta que analisa um UUID (Universally Unique Identifier) e extrai todas as informações disponíveis dele. Um UUID não é apenas uma sequência aleatória de caracteres – dependendo da versão, pode conter um carimbo de data/hora, informações do sistema ou um hash de dados determinísticos.

Que informações você pode obter de um UUID?

Informações Básicas sobre UUID

Versão do UUID:

  • Determina o tipo e a estrutura do UUID (v1, v3, v4, v5, v6, v7)
  • Extraído do 13º caractere hexadecimal

Variante:

  • RFC 4122 - Variante padrão do UUID
  • NCS - Network Computing System (obsoleto)
  • Microsoft - Variante GUID da Microsoft
  • Reserved - Reservado para uso futuro

UUID v1 - Carimbo de Data/Hora + Endereço MAC

O que você pode obter:

  • Hora exata de criação - data e hora com precisão de 100 nanossegundos
  • Sequência de Clock - número de sequência para prevenir colisões
  • ID do Nó - originalmente endereço MAC, frequentemente valores aleatórios

Exemplo:

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Versão: v1 (Carimbo de Data/Hora + MAC)
Variante: RFC 4122
Data e Hora: 15.10.1997 04:25:33.000
Sequência de Clock: 724
ID do Nó: 00:C0:4F:D4:30:C8

Uso:

  • Determinar quando um registro foi criado
  • Auditoria e análise forense
  • Depuração de problemas dependentes do tempo

UUID v3/v5 - Baseado em Hash

O que você pode obter:

  • Tipo de hash - MD5 (v3) ou SHA-1 (v5)
  • Não pode obter - namespace e nome originais (hash unidirecional)

Exemplo:

UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Versão: v5 (hash SHA-1)
Variante: RFC 4122
Tipo: UUID baseado em Hash (determinístico)
Nota: O namespace e o nome originais não podem ser recuperados do UUID

Uso:

  • Verificar se o UUID é determinístico
  • Identificação do tipo de UUID em um banco de dados
  • Verificação da consistência de identificadores baseados em hash

UUID v4 - Aleatório

O que você pode obter:

  • Versão - confirmação de que é aleatório
  • Variante - padrão RFC 4122
  • Nenhum dado adicional - puramente bits aleatórios

Exemplo:

UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479

Versão: v4 (Aleatório)
Variante: RFC 4122
Tipo: UUID gerado aleatoriamente

Uso:

  • Verificar se o UUID é aleatório (não determinístico)
  • Verificação do formato correto do UUID
  • Validação do UUID antes de armazená-lo no banco de dados

UUID v6 - Carimbo de Data/Hora Ordenado

O que você pode obter:

  • Hora exata de criação - rearranjado para melhor desempenho do BD
  • Sequência de Clock - número de sequência
  • ID do Nó - identificador do nó

Exemplo:

UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Versão: v6 (Carimbo de Data/Hora Ordenado)
Variante: RFC 4122
Data e Hora: 30.01.2026 14:23:45.123
Sequência de Clock: 3272
ID do Nó: 9E:6B:DE:CE:D8:46

Uso:

  • Determinar a hora de criação do registro
  • Análise de ordenação cronológica em BD
  • Depuração de sistemas distribuídos

UUID v7 - Carimbo de Data/Hora Unix

O que você pode obter:

  • Carimbo de data/hora Unix - milissegundos desde 1.1.1970
  • Data e Hora - formato padrão de carimbo de data/hora Unix
  • Parte aleatória - não pode ser decodificada

Exemplo:

UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Versão: v7 (Carimbo de Data/Hora Unix)
Variante: RFC 4122
Data e Hora: 30.01.2026 14:23:45.123

Uso:

  • Obtenção do tempo de criação de UUIDs modernos
  • Análise de ordenação temporal
  • Migração de dados com carimbos de data/hora

Estrutura do UUID

O UUID tem o formato: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Nó (48 bits)
│      │ │  │ │  │ └──┴─────────────── Sequência de Clock (14 bits)
│      │ │  │ └──┴────────────────────── Variante (2-3 bits)
│      │ └──┴───────────────────────────── Versão (4 bits) + Time High
│      └──────────────────────────────────── Time Mid (16 bits)
└─────────────────────────────────────────── Time Low (32 bits)

Extração de Versões e Variantes

Versão (M):

  • Posição: 13º caractere hexadecimal
  • Valores: 1-7 (diferentes versões de UUID)

Variante (N):

  • Posição: 17º caractere hexadecimal
  • 0-7: NCS (Reservado)
  • 8-B: RFC 4122 (padrão)
  • C-D: Microsoft
  • E-F: Futuro (Reservado)

Exemplos Práticos

Depuração - Descoberta da Hora de Criação do Registro

Cenário: Um usuário relata que seus dados desapareceram. Você precisa descobrir quando o registro foi criado.

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Decodificado: 15.10.1997 04:25:33.000

→ O registro foi criado em 1997

Análise Forense - Verificação da Sequência Temporal

Cenário: Verificação se os eventos ocorreram na ordem correta.

UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12

→ O UUID 2 foi criado mais tarde (ordem correta)

Identificação do Tipo de UUID em um Banco de Dados

Cenário: Você tem UUIDs misturados no BD e precisa saber quais são aleatórios e quais têm carimbo de data/hora.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (aleatório, sem carimbo de data/hora)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (tem carimbo de data/hora)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (tem carimbo de data/hora)

→ Apenas os UUIDs v1 e v7 contêm informações de tempo

Limitações e o que não pode ser obtido

❌ UUID v3/v5 - Não é possível decodificar o hash

Impossível:

  • Recuperar o namespace original
  • Recuperar o nome/valor original
  • Descobrir quais dados foram hashados

Razão: MD5 e SHA-1 são funções de hash unidirecionais.

❌ UUID v4 - Nenhum dado oculto

Impossível:

  • Obter quaisquer metadados
  • Descobrir a hora de criação
  • Identificar a origem

Razão: O UUID v4 é puramente aleatório, não contém nenhuma informação estruturada.

⚠️ UUID v1/v6 - O ID do Nó pode ser aleatório

Limitação:

  • Em implementações modernas, o ID do Nó é frequentemente aleatório (não o endereço MAC real)
  • Devido à proteção de privacidade, os endereços MAC são frequentemente substituídos por valores aleatórios
  • Não é possível identificar de forma confiável uma máquina específica

Validação de UUID

O decodificador também funciona como um validador de UUID.

Verificação da Validade do UUID

O decodificador valida automaticamente:

  • ✅ Formato correto (8-4-4-4-12 caracteres hexadecimais)
  • ✅ Caracteres hexadecimais válidos (0-9, a-f)
  • ✅ Comprimento correto (36 caracteres incluindo hífens, 32 sem)

Reconhecimento de UUIDs Inválidos

Exemplos inválidos:

❌ 6ba7b810-9dad-11d1-80b4          (muito curto)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caracteres inválidos)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (formato incorreto)

Para Desenvolvedores

Implementação em JavaScript

// Extrakce verze z UUID
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Extrakce timestampu z UUID v7
function extractV7Timestamp(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    const timeHi = parseInt(cleaned.substring(0, 8), 16);
    const timeLow = parseInt(cleaned.substring(8, 12), 16);
    const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
    return new Date(unixMs);
}

// Příklad
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object

Validação de UUID usando Regex

const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;

function isValidUUID(uuid) {
    return uuidRegex.test(uuid);
}

Perguntas Frequentes (FAQ)

Posso obter o tempo de criação de um UUID v4? Não, o UUID v4 é puramente aleatório e não contém nenhuma informação de tempo. Para UUIDs com tempo, use v1, v6 ou v7.
Por que o ID do Nó em UUID v1 é aleatório em vez do endereço MAC? Implementações modernas usam um ID de Nó aleatório devido à proteção de privacidade. A divulgação de um endereço MAC real poderia ser um risco de segurança.
Posso recuperar o URL ou nome original de um UUID v5? Não, o UUID v5 usa um hash SHA-1, que é unidirecional. Não é possível recuperar os dados originais do hash.
Como sei que um UUID é aleatório (v4)? O decodificador exibirá a versão do UUID. Se a versão for 4, é um UUID gerado aleatoriamente sem metadados adicionais.
O carimbo de data/hora em UUID v1 é preciso? Sim, o UUID v1 tem uma precisão teórica de 100 nanossegundos (desde 15 de outubro de 1582). Na prática, depende da precisão do relógio do sistema.
Posso usar o decodificador para validar um UUID? Sim, o decodificador valida automaticamente o formato do UUID e exibe um erro se o UUID for inválido.

Segurança e Privacidade

O que um UUID revela?

UUID v1/v6:

  • ⚠️ Hora de criação - pode revelar o tempo das operações
  • ⚠️ Potencialmente endereço MAC - risco de identificação do dispositivo (aleatório em implementações modernas)

UUID v4:

  • Seguro - não contém metadados

UUID v7:

  • ⚠️ Carimbo de data/hora Unix - revela a hora de criação

Recomendações

  • ✅ Use UUID v4 para máxima privacidade
  • ⚠️ Tenha cuidado com UUID v1/v6/v7 em APIs públicas (revelam informações de tempo)
  • ✅ UUID v5 é determinístico, mas não revela dados originais
  • ⚠️ O Hash MD5 não é totalmente seguro

Curiosidades

  • UUID v1 mais antigo possível: 15 de outubro de 1582 00:00:00 (início do calendário gregoriano)
  • UUID v7 mais recente: 10889-08-02 05:31:50.655 (limite do carimbo de data/hora Unix em ms)
  • Precisão do UUID v1: 100 nanossegundos (teoricamente 10 milhões de UUIDs por segundo)
  • UUID Nulo: 00000000-0000-0000-0000-000000000000 (UUID especial “vazio”)
  • UUID Máx: ffffffff-ffff-ffff-ffff-ffffffffffff (valor máximo)

Uso em diferentes sistemas

PostgreSQL

-- Extrakce verze UUID
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtrování podle verze
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';

MySQL

-- Kontrola UUID formátu
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';