Cosa fa questo strumento
Genera UUID nei formati che gli ingegneri usano davvero: v4 (casuale), v7 (preceduto da timestamp, ordinabile) e i valori speciali NIL e MAX. L'output è configurabile — con trattini o compatto, in minuscole o maiuscole, con o senza parentesi graffe — perché tu possa corrispondere a qualsiasi sistema target si aspetti. Puoi generare fino a 1.000 alla volta.
Quando usarlo
- Produrre chiavi primarie per una nuova tabella senza un round-trip al database.
- Generare chiavi di idempotenza per chiamate API ritenibili.
- Riempire fixture di test con ID stabili ma univoci.
- Migrare da ID interi auto-incrementati a identificatori opachi.
Come funziona
Gli UUID v4 vengono da crypto.getRandomValues, il CSPRNG del browser. I bit di versione (4) e variante (RFC 4122) sono settati per spec, lasciando 122 bit di casualità — la probabilità di collisione è effettivamente zero per qualsiasi tasso di generazione realistico.
Gli UUID v7 codificano un timestamp Unix in millisecondi a 48 bit seguito da 74 bit casuali. Poiché il timestamp guida, gli ID v7 si ordinano lessicograficamente per istante di creazione, il che li rende più cache-friendly degli v4 negli indici B-tree. Sono stati standardizzati nell'RFC 9562 (maggio 2024).
Note
Dovrei passare da v4 a v7 per le chiavi di database? Probabilmente sì per le nuove tabelle. Gli ID v7 si raggruppano per istante di inserimento, il che tiene le righe recenti sulle stesse pagine di indice e riduce l'amplificazione di scrittura. Lo svantaggio è che l'istante di creazione trapela nell'ID — per ID pubblici opachi, resta su v4.
Cos'è NIL vs MAX? NIL è tutto zero (00000000-0000-0000-0000-000000000000) e MAX è tutto uno — valori sentinella definiti nell'RFC 9562 per « nessun UUID » e « UUID massimo ».
Sono crittograficamente casuali? v4 sì. v7 ha 74 bit casuali — anche derivati crittograficamente, ma il timestamp riduce lo spazio di ricerca per un attaccante, quindi non usare v7 come token di sessione.
Strumenti correlati
- UUID v4 — pagina solo casuale
- UUID v7 — pagina solo ordinabile
- Generatore di hash — quando ti serve un digest di contenuto, non un ID opaco