Gerador UUID Versão 1 (Timestamp)

Gere UUIDs baseados em timestamp com endereço MAC para identificação única ordenada por tempo

Experimente estes exemplos:

O que é UUID v1?

Versão 1 do UUID é um identificador de 128 bits baseado no tempo (string de 36 caracteres) da RFC 4122. Combina:

  • Timestamp: valor de 60 bits (precisão de 100 nanossegundos desde 15-10-1582)
  • Sequência do relógio: contador de 14 bits para ajustes do relógio
  • ID do nó: valor de 48 bits (tipicamente endereço MAC)

Exemplo de formato: 2ed6657d-e927-11eb-9a03-0242ac130003

Como o UUID v1 funciona

  1. Calcular timestamp atual (intervalos de 100ns desde 15-10-1582)
  2. Obter/incrementar sequência do relógio de 14 bits (para unicidade se o relógio retroceder)
  3. Obter ID do nó de 48 bits (geralmente do endereço MAC)
  4. Definir bits de versão (0001) e 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
  • Ordenado por tempo (ordenável)
  • Geração de alta performance
  • Geração distribuída
  • Tempo de criação embutido
  • Preocupações com privacidade do endereço MAC
  • Problemas de sincronização do relógio
  • Mais previsível que UUIDs aleatórios
  • Não é seguro criptograficamente

Estrutura do UUID v1

BitsContent
0-3132 bits baixos do timestamp
32-4716 bits médios do timestamp
48-5912 bits altos do timestamp
60-63Versão (0001 para v1)
64-65Variante (10 para RFC4122)
66-79Sequência do relógio (14 bits)
80-127ID do nó (48 bits)

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

  • Chaves de banco de dados: bancos de dados distribuídos
  • Registros de auditoria: rastreamento ordenado por tempo
  • IDs de Transação: processos de negócios
  • Rastreamento de sessão: aplicações web
  • Endereçamento de conteúdo: sistemas CMS
  • Mensagens IoT: comunicação de dispositivos

Perguntas Frequentes

UUID v1 é seguro criptograficamente?

Não. UUID v1 é previsível se o timestamp e o endereço MAC forem conhecidos. Para segurança, use UUID v4 aleatório.

Valores UUID v1 podem colidir?

Colisões são extremamente improváveis na prática devido à precisão do timestamp, contadores de sequência do relógio e identificadores de nó.

Posso extrair o tempo de criação de um UUID v1?

Sim. O componente timestamp pode ser extraído com algoritmos apropriados disponíveis na maioria das bibliotecas UUID.

UUIDs v1 são ordenáveis por tempo de criação?

Sim, mas funções especiais de ordenação são necessárias. Comparação direta de strings não funciona porque os bits de tempo não são sequenciais.

UUID v1 expõe meu endereço MAC?

Por padrão, sim. A maioria das implementações usa o endereço MAC para o ID do nó. Implementações focadas em privacidade podem usar IDs de nó aleatórios.

Resources