Vai al contenuto principale

Generare valori UUID v4 casuali

Un UUID versione 4 è un valore a 128 bit in cui 122 bit provengono da una sorgente casuale crittograficamente sicura. I restanti 6 bit indicano la versione e la variante RFC: per questo ogni UUID v4 ha un 4 all'inizio del terzo gruppo.

Esempio svolto

Byte casuali in ingresso
9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
Risultato
9d417c02-e85b-43f6-aa7e-c19406d3b85f
UUID generatiProbabilità di almeno un duplicato
10⁶≈ 9,4 × 10⁻²⁶
10⁹≈ 9,4 × 10⁻²⁰
10¹²≈ 9,4 × 10⁻¹⁴
10¹⁵≈ 9,4 × 10⁻⁸

UUID necessari per il 50% di probabilità di duplicato: ≈ 2,71 × 10¹⁸

Come funziona

  • Il generatore riempie 16 byte con dati casuali sicuri, poi imposta il nibble alto del byte 6 a 4 (versione) e i due bit più alti del byte 8 a 10 (variante). Il terzo gruppo inizia quindi con 4 e il quarto con 8, 9, a o b.
  • Con 2¹²² valori possibili, l'approssimazione del compleanno p ≈ 1 − e^(−n²/2¹²³) fornisce la probabilità che n UUID casuali contengano almeno un duplicato.
  • Un UUID v4 non rivela timestamp né dati hardware. Usalo come identificatore, non come password o segreto di autenticazione.
Versione UUID

Genera da 1 a 100 UUID alla volta

Informazioni sugli UUID

UUID v1: UUID basati sul tempo che includono un timestamp e l'indirizzo MAC del computer che genera l'UUID. Utile quando è necessario sapere quando è stato creato l'UUID.

UUID v4: UUID generati casualmente. Questa è la versione più comunemente utilizzata e fornisce una buona unicità con una perdita minima di informazioni.

UUID v5: UUID basati sul nome utilizzando l'hashing SHA-1. Dato lo stesso namespace e nome, otterrai sempre lo stesso UUID. Utile per la generazione deterministica di UUID.

Altre guide agli UUID