Generatore UUID
Cos'è un UUID e a cosa serve?
L'UUID (Universally Unique Identifier) è un identificatore a 128 bit progettato per essere globalmente unico senza necessità di coordinamento centrale. È ampiamente utilizzato in database, sistemi distribuiti, API e applicazioni backend per identificare record, sessioni, transazioni o risorse. Grazie all'enorme numero di combinazioni possibili, l'UUID elimina praticamente il rischio di collisione degli identificatori anche in sistemi molto grandi.
Generato in base al tempo e all'indirizzo MAC del dispositivo. Garantisce l'unicità, ma può rivelare informazioni sul sistema.
UUID deterministico generato in base al namespace e al nome utilizzando la funzione di hash MD5.
La versione più popolare — generata casualmente utilizzando un generatore di numeri casuali crittografico.
Simile alla v3, ma usa SHA-1 invece di MD5. Spesso utilizzato quando è richiesta deterministicità e maggiore sicurezza.
Struttura UUID
| Segmento | Lunghezza | Descrizione | Esempio |
|---|---|---|---|
time_low |
8 caratteri | La prima parte dell'identificatore; nella v1 contiene parte del timestamp. | 550e8400 |
time_mid |
4 caratteri | La seconda parte del timestamp. | e29b |
time_hi_and_version |
4 caratteri | Contiene la versione dell'UUID. | 41d4 |
clock_seq |
4 caratteri | Sequenza di clock per prevenire le collisioni. | a716 |
node |
12 caratteri | Identificatore del nodo (es. MAC nella v1 o dati casuali nella v4). | 446655440000 |
Dove si usa l'UUID
UUID
UUID
UUID
UUID
UUID
UUID
Domande frequenti
L'UUID non garantisce un'assoluta unicità matematica, ma la probabilità di collisione è estremamente bassa. Nella versione v4 esistono circa 3.4×10^38 combinazioni possibili, il che in pratica elimina il rischio di duplicati.
Gli UUID possono essere generati indipendentemente su più server senza un database centrale. Per questo motivo funzionano benissimo nell'architettura a microservizi e nei sistemi distribuiti.
Sì. L'UUID non rivela l'ordine dei record né il numero di utenti, quindi è più sicuro degli identificatori incrementali nelle API pubbliche o nei link.
L'UUID ha 128 bit per garantire un enorme spazio di identificazione e minimizzare il rischio di collisione anche in sistemi molto grandi.
Può succedere. L'UUID come chiave primaria può essere più lento degli interi poiché è più grande e meno ordinato. In molti sistemi si utilizza l'UUID in formato binario o i cosiddetti UUIDv7/ULID per una migliore indicizzazione.
Dipende dalla versione. L'UUID v1 contiene informazioni sul tempo e sul MAC del dispositivo, mentre l'UUID v4 è completamente casuale e non contiene dati leggibili.