Skip to main content
CheckTown
Generatori

Generatore UUID: Crea identificatori univoci per qualsiasi progetto

Pubblicato 5 min di lettura
In questo articolo

Cos'è un UUID?

Un UUID (Universally Unique Identifier) è un identificatore a 128 bit che è garantito essere unico nello spazio e nel tempo senza un'autorità centrale. Gli UUID sono formattati come 32 cifre esadecimali in 5 gruppi separati da trattini: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

Esistono diverse versioni di UUID, ciascuna generata in modo diverso. La versione 4 (casuale) è la più diffusa — genera 122 bit casuali, rendendo le collisioni astronomicamente improbabili (dovresti generare 1 miliardo di UUID al secondo per 85 anni per avere il 50% di probabilità di una collisione).

Come funziona la generazione di UUID

UUID v4 utilizza la generazione casuale crittograficamente sicura.

  • Bit casuali — 122 bit casuali vengono generati usando CSPRNG
  • Marcatura della versione — i bit 12-15 del terzo gruppo vengono impostati su 0100 per indicare la versione 4
  • Marcatura della variante — i bit 6-7 del quarto gruppo vengono impostati su 10 per indicare la variante RFC 4122

Prova gratuitamente — nessuna registrazione richiesta

Genera UUID →

Quando usare gli UUID

Gli UUID sono il tipo di identificatore preferito per i sistemi distribuiti e i database.

  • Chiavi primarie del database — usa chiavi primarie UUID nei sistemi distribuiti per evitare conflitti di ID durante le fusioni
  • Token di sessione — genera UUID per gli identificatori di sessione e i token temporanei
  • Denominazione dei file — usa gli UUID per generare nomi di file unici per upload degli utenti e asset generati

Domande frequenti

Qual è la differenza tra UUID v1, v3, v4 e v5?

v1 è basato sul tempo e include il MAC address, rendendolo tracciabile. v3 e v5 sono deterministici — fanno l'hash di un namespace e un nome per produrre sempre lo stesso UUID (v3 usa MD5, v5 usa SHA-1). v4 è casuale ed è il più comunemente usato per ID univoci a uso generale. v7 (standard emergente) combina timestamp e casualità per UUID ordinabili.

Devo usare UUID o interi auto-incrementali come chiavi primarie del database?

Gli interi auto-incrementali sono più semplici e più efficienti in termini di storage. Gli UUID sono migliori per i sistemi distribuiti, la fusione di dati da più fonti, l'esposizione degli ID negli URL senza rivelare informazioni sulla sequenza, e la generazione di ID lato client prima dell'inserimento nel database. Per le applicazioni a server singolo, l'auto-incremento è spesso sufficiente.

Gli UUID sono davvero unici?

UUID v4 ha 2^122 valori possibili — circa 5,3 × 10^36. La probabilità di generare due UUID identici è così piccola da essere effettivamente zero per qualsiasi applicazione pratica. Il paradosso del compleanno significa che avresti bisogno di circa 2,71 triliardi di UUID per avere il 50% di probabilità di una collisione.

Strumenti correlati