Che cos'è un GUID?
Un GUID (globally unique identifier) è esattamente ciò che le RFC 4122 e 9562 chiamano UUID: 128 bit scritti nella forma 8-4-4-4-12. Microsoft ha coniato il termine prima che la specifica si diffondesse.
L'unica differenza sta nell'aspetto della stringa. .NET scrive tradizionalmente i GUID in maiuscolo e li racchiude tra parentesi graffe, per esempio {4C6E0549-7D63-4A0C-9E1F-4D63B7A2B4F1}, mentre la scrittura RFC è minuscola e senza graffe.
Come si usa
- Lascia le impostazioni predefinite: maiuscole e graffe sono già attive.
- Scegli quanti GUID ti servono.
- Fai clic su Genera e incolla il valore direttamente nel codice o in uno script SQL.
Casi d'uso
- Sostituire
Guid.NewGuid()quando si scrivono test .NET. - Riempire colonne
uniqueidentifiersu SQL Server. - Chiavi di registro e file di configurazione di Windows.
Le versioni UUID in breve
| Versione | Ordinabile | Basata su | Usala per |
|---|---|---|---|
| v1 | No | Timestamp + indirizzo MAC | Sistemi storici che si aspettano ancora il v1 |
| v3 | No | Hash MD5 di un nome | Identificatori deterministici quando MD5 è obbligatorio |
| v4 | No | 122 bit casuali | Quasi tutti gli identificatori di uso generale |
| v5 | No | Hash SHA-1 di un nome | Quando lo stesso nome deve dare sempre lo stesso ID |
| v6 | Sì | Timestamp riordinato | Identificatori ordinabili senza rinunciare al casuale |
| v7 | Sì | Tempo Unix in millisecondi | Chiavi primarie di database e ID di eventi |
| v8 | No | Il tuo layout di bit | Formati proprietari o sperimentali |
Tutte e sette le versioni sono da 128 bit e si scrivono nella stessa forma 8-4-4-4-12. Cambia solo il significato dei bit.
Domande frequenti
Un GUID è la stessa cosa di un UUID?
Li distingue solo la scrittura. Entrambi sono da 128 bit e condividono la stessa struttura con versione e variante. .NET converte fra le due forme e un validatore li accetta entrambi.
Quale versione genera questo strumento?
Quella di Guid.NewGuid(), quindi il v4: 122 bit casuali. Se ti servono altre versioni, passa dalle pagine v1, v3, v5, v6, v7 o v8 e cambia lì il formato.
Perché .NET scrive i GUID in maiuscolo?
Per ragioni storiche e perché così l'output resta uniformemente leggibile nei log. Il maiuscolo non ha importanza per SQL Server, che salva i GUID in 16 byte.