UUID Version 1 Generator (Timestamp)

Gumawa ng timestamp-based UUIDs na may MAC address para sa natatanging time-ordered na pagkakakilanlan

Subukan ang mga halimbawang ito:

Ano ang UUID v1?

UUID bersyon 1 ay isang time-based 128-bit identifier (36-char string) mula sa RFC 4122. Pinagsasama nito:

  • Timestamp: 60-bit na halaga (100-nanosecond na precision mula 1582-10-15)
  • Pagkakasunud-sunod ng Orasan: 14-bit na counter para sa mga pagsasaayos ng orasan
  • Node ID: 48-bit na halaga (karaniwang MAC address)

Halimbawa ng format: 2ed6657d-e927-11eb-9a03-0242ac130003

Paano gumagana ang UUID v1

  1. Kalkulahin ang kasalukuyang timestamp (100ns na pagitan mula 1582-10-15)
  2. Kunin/tagdagan ang 14-bit na clock sequence (para sa pagiging natatangi kung ang orasan ay bumalik)
  3. Kunin ang 48-bit na node ID (karaniwang mula sa MAC address)
  4. Itakda ang version bits (0001) at variant bits (10)
  5. I-assemble bilang 32 hex digit na may hyphens: 8-4-4-4-12 na format

Mga Bentahe at Pagsasaalang-alang

AdvantagesConsiderations
  • Nakaayos ayon sa oras (maaaring i-sort)
  • Mataas na performance na pagbuo
  • Distributed na pagbuo
  • Naka-embed na oras ng paglikha
  • Mga alalahanin sa privacy ng MAC address
  • Mga isyu sa pagsabay ng orasan
  • Mas predictable kaysa sa random na UUIDs
  • Hindi cryptographically secure

Estruktura ng UUID v1

BitsContent
0-31Mababang 32 bit ng timestamp
32-47Gitnang 16 bit ng timestamp
48-59Mataas na 12 bit ng timestamp
60-63Bersyon (0001 para sa v1)
64-65Variant (10 para sa RFC4122)
66-79Clock sequence (14 bits)
80-127Node ID (48 bits)

UUID v1 kumpara sa ibang mga bersyon

VersionBatay saGamit na kasoPrivacy
UUID v1Oras + MACMga ID na nakaayos ayon sa oras⚠️ Ipinapakita ang MAC
UUID v3Namespace + MD5Deterministikong mga ID✅ Pribado
UUID v4RandomSecure random na mga ID✅ Pribado
UUID v5Namespace + SHA-1Deterministikong mga ID✅ Pribado
UUID v6Oras (na inayos muli)Mga ID na maaaring i-sort⚠️ Ipinapakita ang MAC
UUID v7Oras + randomMga ID na maaaring i-sort✅ Pribado

Karaniwang Mga Gamit na Kaso

  • Mga susi ng database: Distributed na mga database
  • Audit logs: Pagsubaybay na nakaayos ayon sa oras
  • Mga ID ng Transaksyon: Mga proseso ng negosyo
  • Pagsubaybay ng session: Mga web application
  • Pag-address ng nilalaman: Mga CMS system
  • Mga mensahe ng IoT: Komunikasyon ng device

Mga Madalas Itanong

Ang UUID v1 ba ay cryptographically secure?

Hindi. Ang UUID v1 ay predictable kung alam ang timestamp at MAC address. Para sa seguridad, gamitin ang random UUID v4.

Maaaring mag-collide ang mga halaga ng UUID v1?

Napakabihirang mangyari ang mga collision dahil sa precision ng timestamp, mga counter ng clock sequence, at mga identifier ng node.

Maaari ko bang kunin ang oras ng paglikha mula sa UUID v1?

Oo. Ang bahagi ng timestamp ay maaaring kunin gamit ang angkop na mga algorithm na available sa karamihan ng mga UUID library.

Ang mga UUID v1 ba ay maaaring i-sort ayon sa oras ng paglikha?

Oo, ngunit kailangan ng espesyal na mga function sa pag-sort. Hindi gagana ang direktang paghahambing ng string dahil ang mga bit ng oras ay hindi sunud-sunod.

Ipinapakita ba ng UUID v1 ang aking MAC address?

Sa default, oo. Karamihan sa mga implementasyon ay gumagamit ng MAC address para sa node ID. Ang mga implementasyong nakatuon sa privacy ay maaaring gumamit ng random na node ID bilang kapalit.

Resources