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.
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.