Generatore UUID Versione 4
UUIDv4 • Crittograficamente Casuale
00000000-0000-0000-0000-000000000000
Racchiudi:
Generazione UUID in Massa
0 msReady
Max 5.000
Formattazione e Struttura
Pronto
No batch active1-click copy available on each row
Standard di Settore•RFC 9562 Sezione 5.4 / RFC 4122
Specifiche Tecniche UUID Versione 4 (RFC 4122 & RFC 9562)
UUIDv4 è la versione di UUID più diffusa al mondo. Su un totale di 128 bit, esattamente 122 bit derivano da generatori di numeri pseudocasuali crittograficamente sicuri (CSPRNG), mentre 6 bit sono riservati per la versione (0100) e la variante (10xx).
Layout dei Bit e Struttura Binaria
Distribuzione dettagliata dei 128 bit secondo gli standard RFC.
| Nome Campo | Intervallo Bit | Scopo e Descrizione |
|---|---|---|
| random_hi | 48 bit (0-47) | Entropia pseudocasuale crittograficamente sicura. |
| ver | 4 bit (48-51) | Valore binario costante 0100 (identifica la Versione 4). |
| random_mid | 12 bit (52-63) | Entropia pseudocasuale crittograficamente sicura. |
| var | 2 bit (64-65) | Valore binario costante 10 (variante standard RFC). |
| random_lo | 62 bit (66-127) | Entropia pseudocasuale crittograficamente sicura. |
✓
Vantaggi e Punti di Forza
- •Massima privacy: nessuna divulgazione di timestamp, indirizzi MAC o parametri di rete.
- •Supporto universale in tutti i linguaggi di programmazione, librerie e motori di database.
- •Completamente imprevedibile e protetto contro attacchi di enumerazione IDOR.
!
Considerazioni e Compromessi
- •Prestazioni di scrittura inferiori negli indici B-Tree a causa della dispersione casuale delle pagine di memoria.
- •Nessun ordinamento cronologico intrinseco (necessita di una colonna created_at separata).
Ideale per
- →Chiavi API, session token, link di reimpostazione password e parametri di stato OAuth.
- →ID utente opachi visibili nei percorsi URL del frontend.
- →Chiavi di cache distribuite (Redis, Memcached) e identificatori non indicizzati su disco.
Da evitare per
- ✕Tabelle relazionali ad altissimo throughput di scrittura (è preferibile UUIDv7).
- ✕Dataset che richiedono un ordinamento lessicografico naturale.
Esempi di Implementazione del Codice
Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"Python Standard LibraryPython
import uuid
id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"Go (google/uuid)Go
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id.String())
}Domande Frequenti
Quante combinazioni possibili esistono per UUIDv4?▼
Con 122 bit di entropia casuale (circa 5,3 × 10³⁶ valori possibili), la probabilità di generare una collisione è inferiore a una su un miliardo, anche generando un miliardo di UUID al secondo per 85 anni consecutivi.
Questo generatore utilizza Math.random()?▼
No. Utilizza esclusivamente la Web Crypto API standard (crypto.getRandomValues), che attinge direttamente dal generatore crittografico CSPRNG del kernel del sistema operativo.