Generatore di UUID

Genera UUID di versione 4 o 7 nel tuo browser, uno alla volta o cento in una volta.

Gira interamente nel tuo browser. Non viene caricato, registrato o salvato niente.

Versione

Un UUID è un identificativo da 128 bit che puoi generare ovunque, senza chiederlo a un'autorità centrale, e aspettarti comunque che sia unico. Qui se ne offrono due versioni perché risolvono problemi diversi.

Come funziona

La versione 4 sono 122 bit casuali, con sei bit fissi che indicano versione e variante. Non porta nessuna informazione, che è esattamente quello che vuoi in un identificativo pubblico ed esattamente quello che la rende una cattiva chiave primaria raggruppata: gli inserimenti consecutivi finiscono in punti scollegati dell'indice.

La versione 7, standardizzata nel RFC 9562, mette una marca temporale di 48 bit in millisecondi davanti a 74 bit casuali. I valori generati dopo si ordinano dopo quelli generati prima, quindi gli inserimenti restano in fondo all'indice e le interrogazioni per intervallo di tempo funzionano. In cambio, l'identificativo rivela quando è stato creato.

I bit casuali vengono dal generatore crittografico di numeri casuali del tuo browser, la stessa sorgente usata per le chiavi, e non da Math.random.

Domande frequenti

Devo usare v4 o v7?

v7 per una chiave primaria di database, dove l'ordine tiene sano l'indice. v4 quando l'identificativo è esposto e non deve rivelare una data di creazione, oppure quando l'ordine permetterebbe di dedurre quanti record crei all'ora.

Due UUID possono collidere?

In teoria sì, in pratica no con v4: con 122 bit casuali bisognerebbe generarne miliardi al secondo per un secolo prima che una collisione diventi probabile. Il rischio vero è una sorgente casuale debole, ed è per questo che qui si usa quella crittografica.

E la v1?

La versione 1 incorpora l'indirizzo MAC della macchina che l'ha generata, il che rivela l'identità dell'hardware. La v7 dà lo stesso ordinamento temporale senza quello, ed è la sua sostituta moderna.

Da sapere

  • I valori sono generati nel tuo browser e non vengono mai inviati da nessuna parte.
  • Questo strumento non è deterministico: ricaricare la pagina dà identificativi nuovi, ed è proprio il punto.

Fonti

Tutti gli strumenti di Codice