Generatore UUID Versione 1
UUIDv1 • Timestamp Gregoriano & MAC Simulato
00000000-0000-0000-0000-000000000000
Racchiudi:
Generazione UUID in Massa
0 msReady
Max 5.000
Formattazione e Struttura
Pronto
No batch active1-click copy available on each row
Standard Legacy•RFC 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 Campo | Intervallo Bit | Scopo e Descrizione |
|---|---|---|
| time_low | 32 bit (0-31) | Primi 32 bit inferiori del timestamp gregoriano. |
| time_mid | 16 bit (32-47) | 16 bit centrali del timestamp gregoriano. |
| time_hi_and_ver | 16 bit (48-63) | 4 bit di versione (0001) + 12 bit superiori del timestamp. |
| clock_seq | 16 bit (64-79) | 2 bit di variante (10) + contatore di sequenza a 14 bit. |
| node | 48 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.