Genera UUID v5 basati su nome e namespace, utilizzando l'algoritmo di hash SHA-1.
Nota: lo stesso spazio dei nomi e lo stesso nome genereranno sempre lo stesso UUID
Introduzione a UUID v5
L'UUID v5 è un identificatore unico generato basandosi su un nome e un namespace, utilizzando l'algoritmo di hash SHA-1. Per la stessa combinazione di nome e namespace, genera sempre lo stesso UUID.
Namespace e nome
L'UUID v5 richiede due input: un UUID namespace e una stringa di nome. I namespace predefiniti comuni includono DNS, URL, OID e X.500 DN, ma è possibile utilizzare anche un UUID namespace personalizzato.
v5 vs v3
Gli UUID v5 e v3 sono entrambi basati su nomi, con la principale differenza nell'algoritmo di hash utilizzato. Il v5 utilizza SHA-1, mentre il v3 utilizza MD5. Il v5 offre una migliore sicurezza e resistenza alle collisioni, ed è la scelta raccomandata tra i due.
Scenari di utilizzo
L'UUID v5 è adatto per scenari che richiedono determinismo e ripetibilità, insieme a una maggiore sicurezza. Casi d'uso comuni includono la generazione di identificatori consistenti per risorse persistenti, la generazione di ID da nomi di dominio o qualsiasi situazione in cui lo stesso input deve sempre produrre lo stesso UUID.
Vantaggi di sicurezza
L'UUID v5 utilizza l'algoritmo di hash SHA-1, che offre una migliore resistenza alle collisioni rispetto a MD5 (utilizzato dall'UUID v3). Sebbene SHA-1 non sia più raccomandato per la memorizzazione delle password, è ancora sufficientemente sicuro per la generazione di identificatori unici.
Namespace predefiniti
La specifica UUID definisce quattro namespace standard: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) e X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8).