Generatore UUID v4

Genera UUID v4 (Identificatori Unici Universali) facilmente con il nostro strumento generatore di UUID v4 per un'identificazione unica.

5 di 2 valutazioni
Generatore UUID v4

Il Generatore UUID v4 è uno strumento gratuito che crea un identificatore univoco universale di versione 4 da usare come identificativo di record, oggetti o richieste.

Come vengono gestiti i miei dati?

La generazione avviene sul server. I dati inseriti vengono inviati al server tramite HTTPS e non vengono memorizzati. Non sarebbe quindi corretto affermare che la generazione avviene interamente nel browser o che i dati non lasciano mai il dispositivo.

Un UUID v4 non richiede come origine dati personali, nomi o password. Viene generato come identificativo, non calcolato a partire dalle informazioni che fornisci. Non attribuire un significato riservato al valore ottenuto, perché chiunque possa visualizzarlo può copiarlo e riutilizzarlo.

Che cos'è un UUID v4?

Un UUID v4 è un identificativo a 128 bit la cui parte variabile viene generata in modo casuale o pseudocasuale. Alcuni bit sono riservati per indicare la versione e la variante dell'UUID. Viene comunemente usato quando sistemi distinti devono creare identificativi senza chiedere prima a un servizio centrale il successivo numero disponibile.

Il formato testuale standard contiene 32 caratteri esadecimali suddivisi da trattini in cinque gruppi. Segue lo schema 8-4-4-4-12 ed è lungo 36 caratteri contando anche i quattro trattini.

Un esempio sintatticamente valido è 550e8400-e29b-41d4-a716-446655440000. In un UUID di versione 4, il primo carattere del terzo gruppo è 4. I due bit più significativi che identificano la variante sono 10, perciò il primo carattere esadecimale del quarto gruppo è 8, 9, a o b.

Il valore è un identificativo, non un'informazione codificata. Non puoi decodificarlo per recuperare una data di creazione, il nome di un account, l'indirizzo di un computer o un numero di sequenza.

Quale versione di UUID devo scegliere?

Scegli la versione 4 quando ti serve un identificativo opaco, generato in modo indipendente, e non hai bisogno che lo stesso input produca sempre lo stesso risultato. In sintesi, v1 usa informazioni temporali e sul nodo, v2 è il formato DCE Security, v3 ricava un UUID da uno spazio dei nomi e da un nome usando MD5, v4 è casuale, v5 ne ricava uno usando SHA-1, v6 riordina i dati basati sul tempo, v7 combina un timestamp Unix con dati casuali e v8 è destinato a formati sperimentali o specifici di un fornitore.

  • Usa UUID v4 per gli ID dei record, i riferimenti dei caricamenti, gli ID delle richieste API e i dati di test quando sono adatti identificativi distribuiti casualmente.
  • Usa UUID v5 quando una determinata combinazione di spazio dei nomi e nome deve produrre sempre lo stesso identificativo. È utile per importazioni ripetibili e regole di deduplicazione.
  • Valuta UUID v7 quando gli identificativi dei record devono seguire approssimativamente l'ordine di creazione e il database o il software lo supporta.
  • Usa un normale numero intero sequenziale quando i valori vengono creati da un unico database e le chiavi compatte e ordinate in modo naturale sono più importanti della generazione decentralizzata.

Le versioni precedenti sono ancora presenti nei sistemi esistenti, ma un nuovo progetto dovrebbe scegliere in base ai requisiti effettivi, senza considerare intercambiabili tutte le versioni di UUID.

Esempio di risultato prodotto dallo strumento Generatore UUID v4

Come usare UUID v4 nella pratica

Genera un UUID, copia il valore dal campo dei risultati UUID v4 e memorizza l'intera stringa nel formato canonico, a meno che il sistema di destinazione non richieda una rappresentazione diversa.

  1. Crea un nuovo UUID per l'oggetto o l'evento che deve essere identificato.
  2. Mantieni tutti e cinque i gruppi e i quattro trattini quando lo trasferisci tra sistemi.
  3. Memorizzalo in un campo UUID del database, se disponibile. In caso contrario, usa un campo testuale o binario delle dimensioni adatte alla rappresentazione scelta.
  4. Aggiungi un vincolo di unicità se il database deve rifiutare valori UUID v4 duplicati.
Lo strumento Generatore UUID v4 su digily.link, con il suo modulo di inserimento

Tra gli usi tipici rientrano l'identificazione di un ordine prima che raggiunga il database principale, la correlazione delle voci di log tra più servizi, l'assegnazione di un nome a un oggetto caricato e l'attribuzione di ID stabili alle righe preparate per l'importazione. Spesso è più semplice unire UUID provenienti da insiemi di dati creati in modo indipendente rispetto a sequenze locali di numeri interi, che potrebbero contenere gli stessi valori in ogni origine.

Spazi, segni di punteggiatura, lettere accentate e caratteri non latini non creano problemi per UUID v4, perché il processo di generazione non ricava l'identificativo da un testo. Se ti serve un identificativo basato su un nome che contiene tali caratteri, usa uno schema UUID basato sul nome e definisci con precisione la codifica dei caratteri e le regole di normalizzazione. In caso contrario, testi visivamente identici possono produrre sequenze di byte diverse e quindi identificativi diversi.

Due UUID v4 possono essere uguali?

Sì, in teoria può verificarsi una collisione, ma nell'uso comune di UUID v4 non rappresenta un problema concreto se la generazione impiega una fonte casuale adeguata. Un UUID v4 ha 122 bit variabili, perché i bit rimanenti ne identificano la versione e la variante. Lo spazio dei valori possibili è quindi estremamente ampio.

"Universalmente univoco" è dunque una descrizione pratica, non una garanzia matematica. Valori copiati o riutilizzati per errore, difetti di implementazione o una generazione inadeguata dei numeri casuali quando la fonte non è sufficiente possono comportare rischi di duplicazione più realistici rispetto al puro caso. I sistemi che non possono tollerare duplicati devono comunque imporre l'unicità a livello di database o applicazione.

Un UUID non dimostra neppure che una richiesta sia autentica. Non usare un UUID visibile come unico mezzo di autorizzazione e non presumere che un oggetto sia protetto solo perché il suo indirizzo è difficile da indovinare. I controlli di accesso devono essere applicati alla risorsa sottostante identificata dall'UUID.

Domande frequenti

Gli UUID distinguono tra maiuscole e minuscole?

No, le lettere esadecimali nella rappresentazione testuale degli UUID vengono normalmente interpretate senza distinguere tra maiuscole e minuscole, quindi A e a rappresentano lo stesso valore. La forma canonica usa generalmente le minuscole. Normalizzare le lettere prima di un confronto testuale evita risultati incoerenti nei sistemi che confrontano le stringhe distinguendo tra maiuscole e minuscole.

Posso usare un UUID v4 in un URL o nel nome di un file?

Sì, il formato canonico contiene caratteri esadecimali e trattini, tutti adatti ai normali segmenti di percorso degli URL e ai file system più comuni. Evita di aggiungere parentesi graffe, a meno che non siano richieste da una specifica API, e ricorda che mostrare un UUID in un URL non rende privata la risorsa.

Devo rimuovere i trattini da un UUID?

Rimuovili solo se il formato di destinazione richiede esplicitamente 32 caratteri esadecimali. Molte librerie e molti tipi UUID dei database accettano il formato canonico con i trattini, che è più facile da riconoscere e meno soggetto a essere confuso con un altro valore esadecimale.

Un UUID v4 può essere usato come password o segreto API?

No, un identificativo e un segreto hanno scopi diversi. Alcune implementazioni di UUID possono usare una fonte casuale adeguata, ma il formato UUID non garantisce di per sé i requisiti di gestione, segretezza o entropia previsti per password, token di sessione e credenziali API. Genera credenziali o token con un meccanismo progettato appositamente, non con un Generatore UUID v4.

Un UUID v4 può essere un dato personale ai sensi del GDPR UE?

Sì, può essere un dato personale quando identifica una persona o può essere collegato a una persona identificabile, anche se i caratteri non ne rivelano direttamente il nome. Gestisci gli UUID associati ad account dei clienti, dispositivi o registri delle attività in base al contesto e alle regole dell'organizzazione in materia di conservazione e accesso.

Posso usare UUID v4 come chiave primaria di un database?

Sì, molti database supportano direttamente gli UUID come chiavi primarie. Le chiavi distribuite casualmente possono comportare inserimenti nell'indice meno localizzati rispetto agli identificativi interi ordinati o basati sul tempo, quindi consulta le indicazioni del database per le tabelle con molte operazioni di scrittura. Mantieni un vincolo di unicità e usa una sola rappresentazione coerente per archiviazione, importazioni, query e codice dell'applicazione.

Strumenti popolari