UltKit

Generatore UUID

UUID versione 4 casuali, da uno a cento alla volta, da copiare come elenco. Provengono dal generatore di numeri casuali crittograficamente sicuro del browser, e un verificatore indica la versione e la variante di qualsiasi UUID incollato.

0 caratteri · 0 parole · 0 righe

Funziona interamente in questa scheda del browser. Il testo non viene mai caricato né salvato.

Versioni UUID

La versione è la prima cifra del terzo gruppo; la variante è codificata nella prima cifra del quarto gruppo (8, 9, a o b per gli UUID RFC). Gli esempi sono i vettori di test della RFC 9562.

VersioneBasato suEsempio
v1Timestamp gregoriano + ID del nodo (MAC)c232ab00-9414-11ec-b3c8-9f6bdeced846
v3Hash MD5 di namespace + nome5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 bit casuali919108f7-52d1-4320-9bac-f847db4148a8
v5Hash SHA-1 di namespace + nome2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Timestamp v1 riordinato per ordinare gli ID cronologicamente1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Millisecondi Unix + bit casuali, ordinabile017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Struttura personalizzata definita dall'applicazione2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

Che cos'è un UUID e come si legge

Un UUID (universally unique identifier, chiamato GUID nei software Microsoft) è un numero a 128 bit scritto come 32 cifre esadecimali in gruppi 8-4-4-4-12, per esempio f47ac10b-58cc-4372-a567-0e02b2c3d479. È stato standardizzato nel 2005 con la RFC 4122; a maggio 2024 quel documento è stato sostituito dalla RFC 9562, che mantiene le versioni precedenti e ne aggiunge tre nuove. Due posizioni sono fisse: la prima cifra del terzo gruppo indica la versione (il 4 in 4372), mentre la prima cifra del quarto gruppo indica la variante, che è 8, 9, a o b per ogni UUID conforme alla RFC.

La versione 4 riempie gli altri 122 bit con dati casuali. Lo spazio è così vasto che servirebbe generarne circa 2,7 trilioni di miliardi (2,7 × 10¹⁸) per avere il 50% di probabilità di un solo duplicato: per questo i sistemi creano ID v4 in modo indipendente su molte macchine, senza coordinarsi. Questa pagina usa crypto.randomUUID, oppure crypto.getRandomValues quando non è disponibile, e mai Math.random, il cui risultato non è progettato per essere imprevedibile. Le opzioni Maiuscole e Senza trattini cambiano solo la formattazione: il valore resta lo stesso e la maggior parte dei parser accetta entrambe le forme.

v4, v7 e le altre versioni

Le versioni 1 e 6 sono costruite da un timestamp e da un ID del nodo, in origine l'indirizzo MAC del computer, che rivela dove e quando è stato creato l'ID. Le versioni 3 e 5 calcolano l'hash di un namespace e di un nome con MD5 o SHA-1, quindi lo stesso input produce sempre lo stesso UUID. La versione 8 è un formato libero per schemi personalizzati. La novità più importante è la versione 7: inizia con un timestamp Unix a 48 bit in millisecondi e riempie il resto con bit casuali, così gli ID si ordinano per data di creazione.

Questo ordinamento è il motivo per valutare la v7 come chiave primaria di un database. Le chiavi v4 casuali si distribuiscono su tutto l'indice B-tree, dividendo le pagine e peggiorando la località della cache man mano che la tabella cresce, mentre le chiavi v7 arrivano in ordine più o meno crescente come una colonna auto-increment, ma si possono comunque generare senza un contatore centrale. Scegliere la v4 quando serve un ID che non riveli nulla, nemmeno il momento di creazione; scegliere la v7 quando contano le prestazioni di inserimento e l'ordine temporale. Un UUID è un identificatore, non un segreto: per password e chiavi API segrete usare un generatore di password dedicato. Altri codificatori e strumenti di analisi sono negli strumenti per sviluppatori.

Domande frequenti

Due UUID generati casualmente possono essere uguali?
In teoria sì, in pratica no. Con 122 bit casuali, anche un miliardo di UUID v4 al secondo per circa 86 anni darebbe solo il 50% circa di probabilità di una collisione, a patto che la fonte di casualità sia affidabile.
Qual è la differenza tra UUID e GUID?
In sostanza nessuna. GUID è il nome Microsoft dello stesso identificatore a 128 bit. Alcuni strumenti Microsoft mostrano i GUID in maiuscolo o tra parentesi graffe, formati che il controllo qui accetta.
Come si capisce di quale versione è un UUID?
Guardare la prima cifra del terzo gruppo: 4 indica casuale, 7 ordinato nel tempo, 1 timestamp più nodo. Incollarlo in Verifica un UUID per vedere versione e variante.
Conviene usare UUIDv7 invece di v4 per le chiavi di un database?
Spesso sì. Le chiavi v7 sono ordinate nel tempo, il che mantiene compatti gli indici B-tree e rapidi gli inserimenti. Restare sulla v4 se l'ora di creazione contenuta in un ID v7 deve restare privata.
È sicuro usare un UUID come token per reimpostare la password?
Un UUID v4 generato da una fonte sicura ha 122 bit casuali, sufficienti a non essere indovinabile, ma molte librerie offrono funzioni dedicate per i token con scadenza esplicita. Non usare mai come segreti le versioni basate sul tempo, come la v1 o la v7.