Salta al contenuto principale

Generatore UUID Versione 4

UUIDv4 • Crittograficamente Casuale
00000000-0000-0000-0000-000000000000
Racchiudi:

Generazione UUID in Massa

Max 5.000
Formattazione e Struttura

Pronto

No batch active
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 CampoIntervallo BitScopo e Descrizione
random_hi48 bit (0-47)Entropia pseudocasuale crittograficamente sicura.
ver4 bit (48-51)Valore binario costante 0100 (identifica la Versione 4).
random_mid12 bit (52-63)Entropia pseudocasuale crittograficamente sicura.
var2 bit (64-65)Valore binario costante 10 (variante standard RFC).
random_lo62 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.