Salta al contenuto principale

Generatore UUID Versione 1

UUIDv1 • Timestamp Gregoriano & MAC Simulato
00000000-0000-0000-0000-000000000000
Racchiudi:

Generazione UUID in Massa

Max 5.000
Formattazione e Struttura

Pronto

No batch active
Standard LegacyRFC 9562 Sezione 5.1 / RFC 4122

Specifiche Tecniche UUID Versione 1 (Timestamp Gregoriano)

UUIDv1 genera identificatori a 128 bit basati su un timestamp gregoriano a 60 bit (a intervalli di 100 nanosecondi dal 15 ottobre 1582) combinato con una sequenza di clock e l'indirizzo hardware del nodo.

Layout dei Bit e Struttura Binaria

Distribuzione dettagliata dei 128 bit secondo gli standard RFC.

Nome CampoIntervallo BitScopo e Descrizione
time_low32 bit (0-31)Primi 32 bit inferiori del timestamp gregoriano.
time_mid16 bit (32-47)16 bit centrali del timestamp gregoriano.
time_hi_and_ver16 bit (48-63)4 bit di versione (0001) + 12 bit superiori del timestamp.
clock_seq16 bit (64-79)2 bit di variante (10) + contatore di sequenza a 14 bit.
node48 bit (80-127)Identificatore del nodo (indirizzo simulato per salvaguardare la privacy).

Vantaggi e Punti di Forza

  • Altissima risoluzione temporale (intervalli di 100 nanosecondi).
  • Garanzia di unicità globale attraverso il coordinamento del nodo hardware.
!

Considerazioni e Compromessi

  • Rischi di sicurezza e privacy dovuti alla divulgazione dell'indirizzo MAC fisico nei sistemi storici.
  • Non ordinabile lessicograficamente poiché i bit temporali meno significativi si trovano all'inizio.

Ideale per

  • Integrazione con architetture legacy che dipendono da RFC 4122 v1.
  • Colonne TimeUUID in database noSQL come Apache Cassandra e ScyllaDB.

Da evitare per

  • Nuovi progetti web e architetture cloud moderne (UUIDv7 è il sostituto raccomandato).

Esempi di Implementazione del Codice

Python Standard LibraryPython
import uuid

id = uuid.uuid1()
print(id)

Domande Frequenti

Questo generatore espone il mio vero indirizzo MAC?
No. In conformità con la normativa RFC 9562, utilizziamo un identificatore di nodo generato casualmente con bit multicast attivo per garantire la privacy.
Perché UUIDv1 non si ordina cronologicamente come stringa?
Perché i bit del timestamp sono memorizzati in ordine inverso: la componente time_low occupa i primi 8 caratteri esadecimali.