Generatore UUID
Genera identificatori UUID v4 localmente.
Come si usa
Scegli quanti identificatori ti servono, da 1 a 100 (5 per impostazione predefinita), e «Genera» crea UUID di versione 4 con la funzione crypto.randomUUID() integrata nel browser. «Copia» mette l’intero elenco negli appunti, uno per riga.
Un UUID di versione 4 è formato da 128 bit scritti come 32 cifre esadecimali nella forma consueta 8-4-4-4-12, cioè 36 caratteri con i trattini. Sei di quei bit sono fissi: il 13° carattere è sempre 4, che indica la versione, e il 17° è sempre 8, 9, a o b, che indica la variante. Gli altri 122 bit sono casuali.
Poiché la casualità viene da una sorgente crittografica, gli identificatori si possono usare con sicurezza come chiavi vere e non come riempitivo. La versione 4 non porta né timestamp né identificativo della macchina, ed è proprio il punto: non trapela nulla su dove o quando l’identificatore è stato creato.
Il prezzo da pagare è che non seguono l’ordine di creazione, quindi come chiave primaria di un database disperdono le nuove righe nell’indice. L’UUID di versione 7, definito nella RFC 9562, mette un timestamp all’inizio proprio per questo motivo. Gli identificatori vengono generati nel tuo browser e non vengono registrati da nessuna parte.
Esempio
Genera cinque identificatori UUID v4 casuali, uno per riga. Sono identificatori, non password.
Un identificatore36 caratteri, per esempio 3f6c2a9e-8b1d-4c57-a0e2-9d4b6f1c7a35, in minuscolo.Cinquanta in una voltaOgnuno estratto indipendentemente dalla stessa sorgente.Il 13° carattereSempre 4: è quello che indica la versione.Il 17° carattereSempre 8, 9, a o b: la variante definita dallo standard.
Domande frequenti
Due di questi possono mai collidere?
Con 122 bit casuali la probabilità è trascurabile: bisognerebbe generarne circa un miliardo al secondo per 85 anni prima che le probabilità di una collisione arrivino anche solo a una su due. Vale solo perché i valori vengono da una sorgente crittografica e non da Math.random.
Conviene usare un UUID come chiave primaria di un database?
Funziona, ma gli UUID casuali frammentano l’indice perché ogni inserimento finisce su una pagina diversa. Dove conta il throughput in scrittura, un identificatore ordinato nel tempo come l’UUID di versione 7 mantiene l’ordine restando unico.
Un GUID è la stessa cosa?
Sì. GUID è il nome che Microsoft dà allo stesso formato a 128 bit; alcuni strumenti lo mostrano in maiuscolo o tra parentesi graffe, ma il valore è lo stesso.
Un UUID si può usare come token segreto?
È imprevedibile, ma non è stato progettato come segreto: spesso finisce in URL e log. Per i token che danno accesso, usa un token casuale dedicato con più bit e trattalo come una password.