Una panoramica tecnica completa su identificatori a 128 bit, standard RFC, formati, indicizzazione database e crittografia lato client.
Cos’è un UUID?
Un Universally Unique Identifier (UUID) è un’etichetta numerica a 128 bit standardizzata dalla Open Software Foundation (OSF) e formalizzata negli standard IETF RFC 4122 e RFC 9562. Con 3,4 × 10³⁸ combinazioni uniche, i sistemi distribuiti, microservizi e app mobili possono generare identificatori in modo autonomo senza coordinamento centrale.
Versioni UUID e Opzioni di Formattazione
Gli UUID standard sono composti da 32 caratteri esadecimali separati da quattro trattini (schema 8-4-4-4-12, 36 caratteri totali). L’UUID v4 fornisce 122 bit di entropia pseudo-casuale. L’UUID v7 introduce un timestamp Unix in millisecondi a 48 bit per l’ordinamento cronologico. Il nostro generatore supporta anche formati senza trattini (32 caratteri hex), maiuscole, {GUID} e array JSON.
UUID vs GUID: Standard e Interoperabilità
Un Globally Unique Identifier (GUID) è l’implementazione storica di Microsoft per lo standard UUID. Nello sviluppo moderno (.NET, C#, Python, Java, Go, Rust, PostgreSQL), GUID e UUID indicano la medesima struttura binaria a 128 bit. Entrambi rispettano le specifiche RFC 4122 / RFC 9562 e sono convertibili senza perdita di dati.
Casi d’Uso nel Software e nei Database
Gli UUID sono indispensabili nell’ingegneria del software: chiavi primarie di database (PostgreSQL UUID, MySQL BINARY(16), SQLite), streaming di eventi distribuiti (Kafka, RabbitMQ), identificatori di risorse in API REST e GraphQL, token di idempotenza per pagamenti (Stripe) e sincronizzazione offline mobile.
Generazione Sicura Lato Client e Privacy
FastUUIDGenerator crea tutti gli identificatori al 100% in locale nel browser tramite la Web Cryptography API nativa (crypto.getRandomValues). I pool di entropia del sistema operativo (/dev/urandom, BCryptGenRandom) garantiscono un’imprevedibilità crittografica assoluta. Nessun identificatore viene trasmesso sulla rete.
Convalida, Decodifica e Generazione di Massa
Oltre alla generazione singola, la nostra suite include un Validatore UUID per verificare sintassi e variante RFC, un Decodificatore UUID v7/v1 per estrarre timestamp UTC e sequenze di clock, un generatore di GUID Microsoft e un Generatore Massivo per produrre fino a 10.000 UUID con download in CSV, JSON e TXT.
Domande Frequenti (FAQ)
Clear, concise answers to the most common questions about UUID generation, formats, and standards.
Un UUID canonico standard (RFC 4122/9562) è costituito da 32 cifre esadecimali separate da 4 trattini secondo lo schema 8-4-4-4-12 (es. 550e8400-e29b-41d4-a716-446655440000), per un totale di 36 caratteri. In formato binario grezzo occupa 16 byte (128 bit).
Un generatore di UUID è uno strumento software o una funzione crittografica che genera Identificatori Univoci Universali a 128 bit tramite generatori di numeri pseudo-casuali crittograficamente sicuri (CSPRNG, per UUID v4) o sequenze ordinate temporalmente (per UUID v7).
Su Windows, visualizza l’UUID hardware eseguendo "wmic csproduct get uuid" nel Prompt dei comandi o "Get-CimInstance Win32_ComputerSystemProduct" in PowerShell. Su Linux, controlla "/sys/class/dmi/id/product_uuid". Su macOS, digita "system_profiler SPHardwareDataType". Nel software, gli UUID sono assegnati a record di database, account utente e risorse API.
Puoi creare un UUID istantaneamente online con FastUUIDGenerator, oppure programmaticamente nel codice: in JavaScript con crypto.randomUUID(), in Python tramite uuid.uuid4(), in Java con UUID.randomUUID(), in C# con Guid.NewGuid(), o in PostgreSQL con gen_random_uuid().
Un UUID canonico contiene 32 caratteri esadecimali (0-9, a-f) e 4 trattini nel formato xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Il 13º carattere (M) indica la versione dell’UUID (es. 4 per casuale, 7 per ordinato per data), mentre il 17º (N) indica la variante RFC (8, 9, a o b).
In pratica no. Con uno spazio a 128 bit che offre 3,4 × 10³⁸ combinazioni, generando 1 miliardo di UUID v4 ogni secondo per 73 anni si otterrebbe solo il 50% di probabilità di un singolo duplicato. Nei sistemi distribuiti, le collisioni accidentali sono virtualmente impossibili.
Un ID tradizionale è solitamente un numero intero sequenziale autoincrementale (1, 2, 3...) gestito da un singolo database centrale. Un UUID è un identificatore univoco globale a 128 bit che può essere generato autonomamente su server distribuiti e client offline senza rischio di collisione.
UUID è l’acronimo di Universally Unique Identifier (Identificatore Univoco Universale). È un valore numerico standard a 128 bit definito da IETF RFC 4122 e RFC 9562, progettato per consentire un’identificazione univoca su sistemi informatici indipendenti senza un registro centrale.
Gli UUID sono indispensabili nelle architetture distribuite e nei microservizi in cui più nodi devono generare ID in parallelo senza bloccare il database. Evitano collisioni durante l’unione di dati, prevengono attacchi di enumerazione sequenziale e consentono la generazione di dati offline.
Sì. Gli UUID v4 e v7 generati con CSPRNG sono protetti da collisioni e previsioni. L’obsoleto UUID v1 codifica l’indirizzo MAC della scheda di rete (esponendo l’identità hardware), per cui i sistemi moderni usano v4 o v7. Gli UUID non dovrebbero essere usati come password segrete di autenticazione negli URL pubblici.
Utilizza gli UUID come chiavi primarie nei database (PostgreSQL UUID, MySQL BINARY(16)), identificatori di risorse nelle API REST/GraphQL (es. /api/orders/550e8400-e29b-41d4-a716-446655440000), token di sessione e chiavi di idempotenza nei gateway di pagamento come Stripe.
Sì. Puoi incollare qualsiasi UUID nel nostro strumento gratuito Decodificatore UUID per estrarre all’istante versione, variante RFC, byte grezzi e il timestamp esatto di generazione (se si tratta di un UUID temporale v1, v6 o v7).
Sì, su FastUUIDGenerator è sicuro al 100%. Tutta la generazione avviene localmente nel tuo browser tramite la Web Cryptography API nativa (crypto.getRandomValues). Nessun dato generato o parametro viene mai trasmesso in rete.
Un UUID a 128 bit si converte in un intero senza segno rimuovendo i trattini e analizzando la stringa esadecimale a 32 caratteri in base 16. In JavaScript: BigInt("0x" + uuid.replace(/-/g, "")). In Python: int(uuid.UUID(str_uuid)). Il valore varia da 0 a 2¹²⁸-1 (fino a 3,4 × 10³⁸).