Gerador de UUID de versão 1

UUID gerado

UUIDs (Identificadores Únicos Universais) são identificadores exclusivos amplamente usados na computação para identificar entidades de forma exclusiva. Eles são geralmente gerados aleatoriamente, mas existem diferentes versões de UUIDs que possuem métodos de geração específicos. Neste artigo, vamos nos concentrar na versão 1 de UUID e como ela é gerada. Também vamos examinar exemplos de UUIDs de versão 1 e decompor sua estrutura para entender como eles são construídos.

Compreendendo a versão 1 do UUID

UUIDs (Identificadores Únicos Universais) são identificadores exclusivos usados na computação para identificar entidades exclusivamente, como usuários, arquivos, transações, etc. UUIDs são geralmente gerados aleatoriamente, mas existem várias versões de UUID com métodos de geração diferentes. Neste artigo, vamos nos concentrar na versão 1 do UUID.

Como é gerado um UUID de versão 1?

A versão 1 do UUID é gerada usando o relógio do computador e o endereço MAC da interface de rede. O relógio do computador é usado para obter uma marca de tempo precisa, enquanto o endereço MAC da interface de rede é usado para garantir a unicidade do UUID. O processo de geração de um UUID de versão 1 pode ser resumido em três etapas:

  • Obter a marca de tempo atual usando o relógio do computador.
  • Converter a marca de tempo em número de 100 nanossegundos desde 15 de outubro de 1582, data em que o calendário gregoriano foi adotado.
  • Combinar a marca de tempo, o endereço MAC da interface de rede e um identificador de sequência para gerar um UUID exclusivo.

Exemplos de UUIDs de versão 1

Aqui está um exemplo de UUID de versão 1 gerado a partir da marca de tempo 2023-02-24 13:35:42 e do endereço MAC 00-0A-95-9D-68-16: 7b19ef41-4e3d-11ec-8000-00-0A-95-9D-68-16

O primeiro campo (7b19ef41-4e3d-11ec) é o carimbo de data/hora convertido em número de 100 nanossegundos. O segundo campo (8000) é um campo de extensão reservado que pode ser usado para armazenar informações adicionais. O terceiro campo (00-0A-95-9D-68-16) é o endereço MAC da interface de rede.