Quale versione di UUID dovrei usare?+−
Per la maggior parte degli ID generici, usa v4 - è casuale e non porta informazioni. Se l'UUID sarà una chiave primaria o un indice di database, v7 è di solito migliore perché si ordina cronologicamente, mantenendo gli indici veloci. Usa v5 quando vuoi che lo stesso input (come un URL o un nome) produca sempre lo stesso UUID; usa v1 solo se ti serve specificamente un timestamp incorporato nell'ID, sapendo che può rivelare l'orario di creazione.
Qual è la differenza tra v3 e v5?+−
Entrambi sono deterministici: dato lo stesso namespace e nome, producono sempre lo stesso UUID. L'unica differenza è la funzione hash - v3 usa MD5, v5 usa SHA-1. Poiché MD5 è crittograficamente compromesso, v5 è la scelta consigliata per qualsiasi cosa nuova; v3 esiste principalmente per compatibilità con sistemi più vecchi.
Perché v7 si ordina cronologicamente?+−
Un UUID v7 inizia con un timestamp Unix in millisecondi a 48 bit prima dei bit casuali, quindi quando gli UUID vengono confrontati come semplici stringhe (o byte), quelli creati prima si ordinano prima di quelli creati dopo. Gli UUID v4 casuali non hanno questa struttura, il che può frammentare gli indici di database poiché i nuovi valori casuali vengono inseriti in tutto l'intervallo di chiavi anziché alla fine.
Gli UUID generati qui sono crittograficamente casuali?+−
Sì. v4 e le parti casuali di v1 e v7 usano crypto.getRandomValues della Web Crypto API, un generatore di numeri casuali crittograficamente sicuro integrato nel tuo browser - non Math.random(). Nulla viene generato su un server o inviato altrove.
Quanto è probabile che due UUID v4 casuali entrino in collisione?+−
Astronomicamente improbabile. Un UUID v4 ha 122 bit casuali (6 bit sono fissi per indicare versione e variante), il che dà circa 5,3 x 10^36 valori possibili. Anche generando un miliardo di UUID al secondo per 100 anni, la probabilità di una collisione resterebbe inferiore a una su un miliardo - per questo v4 è considerato un identificatore univoco affidabile senza bisogno di un registro centrale.
Un UUID è la stessa cosa di un GUID?+−
In pratica sì - GUID (Globally Unique Identifier) è il nome usato da Microsoft per lo stesso formato di identificatore a 128 bit definito dallo standard UUID (RFC 4122). Alcuni ambienti lo scrivono in maiuscolo o tra parentesi graffe ({...}), ma il valore e la struttura sottostanti sono identici, quindi un UUID generato qui è anche un GUID valido.