Decodificador de UUID e Extrator de Timestamp

Decodifique timestamps de UUID v1, v6 e v7 como ISO UTC e tempo Unix, além de inspecionar versão e metadados.

Experimente estes exemplos:

O que é Decodificação de UUID?

decodificação de UUID é o processo de analisar um UUID para extrair informações sobre seu:

  • Version: Qual versão do UUID (1-8) com base em 4 bits na posição 48-51
  • Variant: Qual variante do UUID (geralmente RFC 4122) com base nos bits 64-65
  • Components: Extrair timestamp, node ID ou outros dados com base na versão
  • Tempo de geração: Para UUIDs baseados em tempo (v1, v6, v7)

Example: 123e4567-e89b-12d3-a456-426614174000 é um UUID Versão 1 com o timestamp 2228-06-25T20:01:28.545Z quando mostrado com precisão de milissegundos do JavaScript.

Visão Geral da Estrutura do UUID

FormatDescription
8-4-4-4-1232 dígitos hex agrupados com hífens
Bits de versãoBits 48-51 (13º dígito)
Bits de varianteBits 64-65 (17º dígito)

O número da versão aparece como o primeiro dígito hex do terceiro grupo (por exemplo, 123e4567-e89b-12d3-a456-426614174000 para a versão 1).

Decodificação por Versão de UUID

VersionO que pode ser decodificado
UUID v1
  • Timestamp (com precisão de 100ns, desde 15 de outubro de 1582)
  • Endereço MAC (se não randomizado)
  • Sequência de clock (para evitar colisões)
UUID v3/v5
  • O namespace e o name não podem ser recuperados a partir do hash
  • Só pode ser regenerado quando tanto o namespace quanto o name são conhecidos
  • Pode distinguir v3 (MD5) de v5 (SHA-1)
UUID v4
  • Apenas dados aleatórios
  • Sem informação extraível
  • Pode verificar que é um UUID v4 válido
UUID v6
  • Timestamp (com precisão de 100ns, desde 15 de outubro de 1582)
  • Endereço MAC (se não randomizado)
  • Sequência de clock (para evitar colisões)
UUID v7
  • Timestamp Unix (precisão de milissegundos)
  • Componente aleatório (não decodificável)

Extração de Timestamp de UUIDs

Tipo de UUIDMétodo de Extração de TempoEpoch
UUID v1Combine os bits 0-31, 32-47 e 48-59, reordenando os componentes do timestamp15 de outubro de 1582
UUID v6Combine os bits 0-47 com os bits 52-63; os bits 48-51 são a versão e são excluídos15 de outubro de 1582
UUID v7Extraia os bits 0-47 (milissegundos Unix)1 de janeiro de 1970

Regras de Validação de UUID

  • Verificação de formato: 8-4-4-4-12 dígitos hexadecimais com hífens
  • Verificação de versão: O 13º caractere deve ser 1-8
  • Verificação de variante: O 17º caractere deve ser 8, 9, A ou B (para UUIDs RFC 4122)

Expressão regular para validação básica de UUID:

^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Exemplo de timestamp de UUID v7

017f22e2-79b0-7cc3-98c4-dc0c0c07398f é o vetor de teste RFC 9562 UUIDv7. Seus primeiros 48 bits são milissegundos Unix, que decodificam para 2022-02-22T19:22:22.000Z, 1645557742000 milissegundos, ou 1645557742 seconds.

Gerar um novo UUID v7, ou continuar com o Conversor de Timestamp Unix. Esses links não incluem o UUID que você inseriu.

Aplicações Práticas

  • Análise forense: Determinar quando IDs foram criados
  • Debugging: Rastrear o comportamento do sistema através dos timestamps dos IDs
  • Auditing: Validar integridade cronológica
  • Verificações de formato: Detectar IDs malformados; um UUID válido não prova autenticidade
  • Recuperação de dados: Reconstruir relações temporais
  • Migrações de sistema: Entender detalhes de implementações legadas de UUID

Extração de Endereço MAC (v1/v6)

Para UUID v1 e v6, você frequentemente pode extrair o identificador do node (endereço MAC) se ele não foi randomizado durante a geração:

  1. Extraia os últimos 12 dígitos hex (48 bits) do UUID
  2. Formate com dois pontos como XX:XX:XX:XX:XX:XX
  3. Verifique se o endereço MAC é real ou aleatório examinando o bit de multicast

Se o primeiro byte tiver o bit 0x01 definido, é provável que seja um node ID randomizado em vez de um MAC real.

Perguntas Frequentes

Posso determinar exatamente quando um UUID v4 foi criado?

Não. UUID v4 é puramente aleatório e não contém informação de timestamp. O momento da criação não pode ser determinado a partir de um UUID v4.

Quão precisos são os timestamps em UUIDs baseados em tempo?

UUID v1/v6 têm timestamps com precisão de 100 nanossegundos. UUID v7 tem precisão de milissegundos. Porém, a precisão real do relógio do sistema pode variar.

Posso converter entre versões de UUID?

Não, você não pode converter diretamente entre versões preservando o mesmo valor identificador. Versões diferentes têm estruturas fundamentalmente diferentes.

Posso identificar o computador que gerou um UUID v1?

Se o node ID não foi randomizado, um UUID v1 pode conter o endereço MAC do sistema que o gerou. Entretanto, muitas implementações modernas randomizam isso por privacidade.

Como posso saber se um UUID é válido?

Verifique o formato (8-4-4-4-12 dígitos hex), confirme o dígito de versão (13º caractere) é 1-8 e confirme os bits de variante (17º caractere é 8, 9, A ou B para UUIDs RFC 4122).

Resources