Generatore di UUID

Genera in blocco, direttamente nel navigatore, identificativi UUID di versione 4, cioè casuali. Sono previsti più formati di visualizzazione: standard, maiuscolo, senza trattini, fra parentesi graffe e in forma di nome uniforme di risorsa.

Le versioni di UUID

Versione Modo di generazione Descrizione
UUID v1 Marca temporale e indirizzo fisico di rete Generato dall'istante di creazione e dall'indirizzo fisico della scheda di rete. Poiché permette di risalire al dispositivo d'origine, solleva questioni di riservatezza e oggi si adotta sempre meno.
UUID v3 Spazio dei nomi e sintesi MD5 Generato applicando la funzione MD5 a uno spazio dei nomi e a una stringa chiave. Dallo stesso ingresso si ottiene sempre lo stesso identificativo, in modo deterministico. Per le vulnerabilità alle collisioni di MD5, per i nuovi impieghi si raccomanda la versione 5.
UUID v4 Del tutto casuale Generato da numeri pseudocasuali crittograficamente sicuri. Non contiene informazioni sull'origine, è sicuro sul piano della riservatezza e semplice da realizzare: è la versione più diffusa ed è quella che genera questo strumento.
UUID v5 Spazio dei nomi e sintesi SHA-1 Stesso metodo della versione 3, ma con la funzione SHA-1. È la scelta raccomandata quando serve una generazione deterministica, cioè riprodurre sempre lo stesso identificativo dagli stessi dati.
UUID v6 Marca temporale riordinata e valori casuali Standardizzata nel 2024 dalla norma RFC 9562. Riordina la struttura della marca temporale della versione 1 in modo che l'ordine lessicografico dei byte coincida con quello cronologico, migliorando l'efficienza degli indici.
UUID v7 Marca temporale Unix e valori casuali Standardizzata nel 2024 dalla norma RFC 9562. Recando in testa una marca temporale Unix al millesimo di secondo, è ordinabile per generazione: nei nuovi progetti se ne diffonde l'adozione in luogo della versione 4.

Consigli

  • Gli UUID generati sono elaborati dal JavaScript del navigatore, tramite l'interfaccia crittografica, e non giungono mai ai serventi di toolbase.cc.
  • L'UUID v4 è largamente usato per le chiavi primarie delle basi di dati e per gli identificativi di richiesta delle interfacce, ossia quando serve l'univocità ma non si vuole una numerazione progressiva.
  • Dei 128 bit di un UUID v4, 122 sono casuali: la probabilità di collisione è astronomicamente bassa, tanto che perché raggiunga il cinquanta per cento occorrerebbero circa 2,7 per dieci alla diciottesima identificativi.
  • Il formato senza trattini è comodo per i segmenti di percorso di un indirizzo web e per i nomi di file. Quello fra parentesi graffe coincide con la notazione usata nel registro e nei componenti di Windows.
  • Aumentando il numero di identificativi da generare e usando il pulsante che li copia tutti, preparerete in un attimo dati di prova o dati iniziali.

Domande frequenti

In teoria la probabilità non è nulla, ma con i 122 bit di casualità dell'UUID v4 è nella pratica trascurabile: generando un miliardo di identificativi al secondo per cent'anni, la probabilità che se ne verifichi anche uno solo ripetuto resterebbe intorno al cinquanta per cento.

Sì, in sostanza sono lo stesso concetto. GUID, cioè identificativo univoco globale, è il nome che Microsoft usò per la propria realizzazione e indica un identificativo a 128 bit compatibile con l'UUID. La forma fra parentesi graffe, {xxxxxxxx-xxxx-...}, è la notazione consueta nel registro e nei componenti di Windows.

Essendo casuale, l'UUID v4 occupa più spazio negli indici di un intero progressivo e può peggiorare le prestazioni in inserimento. Se vi serve l'ordinamento secondo l'ordine di inserimento, vale la pena valutare l'UUID v7, che contiene l'informazione temporale, oppure in alternativa l'ULID.

Se serve soltanto l'univocità, l'UUID v4 è il più semplice e sicuro. Se occorre riprodurre sempre lo stesso identificativo dagli stessi dati, la versione 5. Nei nuovi progetti in cui contano l'ordinabilità e l'efficienza in inserimento, la versione 7 è la candidata più forte. Le versioni 1 e 3 sono ormai poco adottate.
Tool-kun

A proposito — perché occorrono ben 128 bit

L'UUID, cioè l'identificativo universalmente univoco, fu ideato negli anni Ottanta da Apollo Computer per i sistemi distribuiti e standardizzato in seguito nell'ambito dell'ambiente di elaborazione distribuita. La specifica corrente è la norma RFC 4122 del 2005 dell'ente che cura gli standard di Internet, cui si è aggiunta nel 2024 l'edizione ampliata RFC 9562.

La lunghezza di 128 bit può sembrare eccessiva, ma serve a garantire che più serventi e più dispositivi possano emettere identificativi in modo indipendente, senza scambiarsi alcuna comunicazione, senza collisioni pratiche. Affidarsi a un servente centrale che gestisca una numerazione progressiva comporterebbe un punto unico di guasto e il costo di una comunicazione a ogni emissione: l'UUID azzera quel costo di coordinamento e in cambio abbassa la probabilità di collisione a livelli trascurabili grazie a una casualità sufficientemente ampia.

La casualità dell'UUID v4 ha però un rovescio: inserendolo negli indici ad albero di una base di dati, la posizione di inserimento risulta sparsa, le pagine si dividono di frequente e le prestazioni peggiorano. Per rimediare è stato concepito l'UUID v7, ordinabile cronologicamente, che reca in testa una marca temporale Unix e conserva così la località di inserimento senza rinunciare alla casualità.