Cos'è UUID v3?
Versione UUID 3 è un identificatore a 128 bit basato su namespace (stringa di 36 caratteri) da RFC 4122 che utilizza hashing MD5. Consiste in:
- Namespace UUID: Un namespace UUID predefinito o personalizzato
- Name: Una stringa fornita dall'utente che viene hashata
- Hash MD5: Applicato alla combinazione namespace + nome
Esempio di formato: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Come funziona UUID v3
- Seleziona un namespace UUID (predefinito o personalizzato)
- Concatena i byte del namespace UUID con i byte della stringa nome
- Calcola hash MD5 del valore concatenato
- Imposta i bit della versione a 0011 (versione 3)
- Imposta i bit della variante a 10 (standard RFC 4122)
- Assembla come 32 cifre esadecimali con trattini: formato 8-4-4-4-12
Vantaggi e considerazioni
Advantages | Considerations |
---|---|
|
|
Struttura UUID v3
Bits | Content |
---|---|
0-47 | Primi 48 bit dell'hash MD5 |
48-51 | Versione (0011 per v3) |
52-63 | Successivi 12 bit dell'hash MD5 |
64-65 | Variante (10 per RFC4122) |
66-127 | Restanti 62 bit dell'hash MD5 |
Namespace predefiniti
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Nomi di dominio |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | OID ISO |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | Nomi distinti X.500 |
UUID v3 vs. altre versioni
Version | Basato su | Caso d'uso | Privacy |
---|---|---|---|
UUID v1 | Tempo + MAC | ID ordinati per tempo | ⚠️ Rivela MAC |
UUID v3 | Namespace + MD5 | ID deterministici | ✅ Privato |
UUID v4 | Random | ID casuali sicuri | ✅ Privato |
UUID v5 | Namespace + SHA-1 | ID deterministici | ✅ Privato |
UUID v6 | Tempo (riordinato) | ID ordinabili | ⚠️ Rivela MAC |
UUID v7 | Tempo + casuale | ID ordinabili | ✅ Privato |
Casi d'uso comuni
- Identificatori basati su URL: Creazione di UUID da URL
- ID specifici per dominio: Conversione di nomi DNS in UUID
- ID file deterministici: Indirizzamento contenuti
- ID utente: Da email o nome utente
- Voci di configurazione: Per chiavi coerenti
- Riferimenti a documenti: Sistemi di gestione contenuti
Domande frequenti
UUID v3 è crittograficamente sicuro?
Non proprio. UUID v3 usa MD5, che ha note debolezze crittografiche. Per maggiore sicurezza, considera UUID v5 (SHA-1) o UUID v4 (casuale).
Gli stessi input producono sempre lo stesso UUID v3?
Sì. UUID v3 è deterministico - lo stesso namespace e nome produrranno sempre lo stesso UUID, utile per ID riproducibili.
Qual è la differenza tra UUID v3 e v5?
Funzionano allo stesso modo, tranne che v3 usa MD5 mentre v5 usa SHA-1. UUID v5 è generalmente preferito perché SHA-1 è crittograficamente più forte di MD5.
Posso creare i miei namespace?
Sì. Mentre RFC 4122 definisce namespace standard (DNS, URL, OID, X.500), puoi creare namespace personalizzati usando qualsiasi UUID valido.
UUID v3 è adatto per token di sicurezza?
No. A causa delle debolezze di MD5 e della natura deterministica, UUID v3 non è raccomandato per token di sicurezza o qualsiasi cosa richieda imprevedibilità.