Generatore di UUID

Genera e ispeziona identificatori crittografici UUIDv4 e UUIDv7 ordinati temporalmente a latenza zero. Include Ispettore Inverso UUID, estrazione timestamp UTC, formattazione stile Stripe e generazione batch senza collisioni.

Strumenti Online
SISTEMA: ATTIVO
CSPRNG (window.crypto)0ms Latenza Lato ClientConformità RFC 9562 / RFC 4122
Seleziona Architettura Identificatore
Identificatore Crittografico Generato
Entropia Crittografica:74 bit CSPRNG + 48 bit Timestamp Millisecondi
018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Formattazione Avanzata (Stile Stripe)

Aggiungi prefissi di dominio, rimuovi trattini e imposta identificatori per schemi ORM di produzione.

Notazione Esadecimale
Separatori Trattino
Prefissi Rapidi:
Anteprima Risultato Formattato40 chars
usr_018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Frammenti di Codice per Sviluppatori

Codice pronto per la produzione per istanziare questa architettura nel tuo ambiente di sviluppo.

// RFC 9562 UUIDv7 in JavaScript / TypeScript (Native Web Crypto)
export function generateUUIDv7(): string {
  const time = Date.now();
  const timeHex = time.toString(16).padStart(12, '0');
  const rand = new Uint8Array(10);
  window.crypto.getRandomValues(rand);
  rand[0] = (rand[0] & 0x0f) | 0x70; // Version 7
  rand[2] = (rand[2] & 0x3f) | 0x80; // Variant RFC 4122
  const randHex = Array.from(rand).map(b => b.toString(16).padStart(2, '0')).join('');
  return `${timeHex.slice(0,8)}-${timeHex.slice(8,12)}-${randHex.slice(0,4)}-${randHex.slice(4,8)}-${randHex.slice(8,20)}`;
}

Specifiche Tecniche Standard RFC 9562 & RFC 4122

Riferimento ingegneristico autorevole per identificatori univoci universali a 128 bit.

Evoluzione da RFC 4122 (2005) a RFC 9562 (Maggio 2024)

Pubblicato da IETF nel maggio 2024, RFC 9562 sostituisce RFC 4122 per risolvere i limiti di scalabilità nei database distribuiti moderni. RFC 9562 standardizza UUIDv6, UUIDv7 e UUIDv8.

Entropia Crittografica e Matematica delle Collisioni

Calcoli di probabilità basati sul Paradosso del Compleanno nello spazio a 128 bit.

Per uno spazio di N stati e k identificatori generati, la probabilità di collisione è data da:

P(k) ≈ 1 - exp( -k² / (2 × 2¹²²) )
Identificatori GeneratiProbabilità di Collisione
1.000.000 (10⁶)
Generazione istantanea in blocco (batch)
≈ 1 × 10⁻²⁵ (Praticamente 0)
1.000.000.000 (10⁹)
1 miliardo di record nel database cloud
≈ 1 × 10⁻¹⁹
100.000.000.000 (10¹¹)
Scala di cluster globale di telecomunicazioni
≈ 1 × 10⁻¹⁵
2,71 × 10¹⁸
Generazione di 1 miliardo ID/sec per 85 anni
≈ 0,0000001% (1 su un miliardo)

Guida all'Integrazione in Database di Produzione

Configurazioni DDL ottimali per PostgreSQL, MySQL InnoDB e SQLite.

PostgreSQL (v16 / v17+)
-- Recommended Schema for High-Throughput Tables
CREATE TABLE app_events (
    id UUID PRIMARY KEY, -- Stores 16 bytes binary
    payload JSONB NOT NULL,
    created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

-- Extract timestamp directly from UUIDv7
-- No extra created_at index required!
SELECT id, ('x' || lpad(substr(replace(id::text, '-', ''), 1, 12), 16, '0'))::bit(64)::bigint
AS epoch_ms FROM app_events;
MySQL (InnoDB Engine)
-- Use BINARY(16) for Compact Primary Key
CREATE TABLE production_orders (
    id BINARY(16) PRIMARY KEY,
    amount DECIMAL(10,2) NOT NULL,
    status VARCHAR(32) NOT NULL
) ENGINE=InnoDB;

-- Insert UUIDv7 converted to binary
INSERT INTO production_orders (id, amount, status)
VALUES (UUID_TO_BIN('018f3a5b-9d48-7e30-b98a-5e4d21f879ab', 1), 99.50, 'paid');

Come Utilizzare il Generatore Crittografico di UUID

Guida passo-passo per sviluppatori per generare, ispezionare, formattare e ottimizzare identificatori a 128 bit nei database.

01

Seleziona l'Architettura dell'Identificatore

Scegli tra UUIDv7 (ordinato temporalmente e monotono per chiavi primarie nei database) o UUIDv4 (casualità crittografica pura per token di sessione e segreti).

02

Genera Identificatori Crittografici

Fai clic su Rigenera per creare un identificatore a 128 bit tramite la Web Crypto API nativa (window.crypto), con esecuzione in sub-millisecondi e zero collisioni.

03

Applica Formattazione Stile Stripe

Aggiungi prefissi di entità (es: usr_, tx_), passa da minuscole a maiuscole, rimuovi trattini o racchiudi nei formati SQL, GUID e Base64URL.

04

Ispeziona e Decodifica nell'Ispettore

Passa alla scheda Ispettore Inverso UUID e incolla una stringa per decodificare versione RFC, variante, layout dei bit e timestamp UTC incorporato.

05

Genera Lotti Massivi Senza Collisioni

Usa la scheda Griglia Batch per creare fino a 50.000 UUID sicuri in meno di 50 ms, con opzioni di esportazione in un clic in CSV, JSON e testo.

06

Ottimizza Indici e Schemi Database

Consulta la scheda Ottimizzatore Database per analizzare la frammentazione B-Tree e copia schemi DDL pronti per PostgreSQL, MySQL InnoDB e SQLite.

Domande Frequenti (FAQ)

Risposte autorevoli alle domande frequenti sull'architettura UUIDv7 vs UUIDv4, standard RFC e prestazioni di indicizzazione.

Q:Perché UUIDv7 previene la frammentazione dell'indice B-Tree rispetto a UUIDv4?

UUIDv4 distribuisce le scritture casualmente su tutte le pagine foglia, provocando page split che riducono il riempimento a ~50%. UUIDv7 incorpora un timestamp a 48 bit, garantendo inserimenti sequenziali ordinati.

Q:Come garantisce questo strumento zero collisioni e sicurezza crittografica?

Tutta la generazione viene eseguita nel browser tramite l'API nativa Web Crypto (window.crypto), che utilizza il CSPRNG del kernel del sistema operativo.

Q:Come estrae l'Ispettore Inverso la data da UUIDv7 e UUIDv1?

In UUIDv7, i primi 48 bit codificano il timestamp Unix in millisecondi. Il nostro decoder converte questi bit in data ISO-8601 UTC. In UUIDv1, il timestamp a 60 bit viene ricostruito dai campi time_hi, time_mid e time_low.

Q:UUIDv7 è ufficialmente standardizzato da IETF?

Sì. UUIDv7 è stato approvato e pubblicato ufficialmente da IETF a maggio 2024 come RFC 9562.

Q:UUIDv7 comporta rischi per la privacy della rete o dell'hardware?

No. A differenza di UUIDv1 che incorporava l'indirizzo MAC della scheda di rete, UUIDv7 contiene solo data e ora UTC e 74 bit di entropia casuale.

Q:Quale tipo di dato è consigliato per UUIDv7 in PostgreSQL e MySQL?

In PostgreSQL il tipo nativo UUID a 16 byte. In MySQL InnoDB BINARY(16) per evitare l'overhead di VARCHAR.

Q:È possibile ordinare i record cronologicamente tramite chiave primaria UUIDv7?

Sì. Avendo i primi 48 bit in formato big-endian, un ordinamento standard sulla colonna ordina automaticamente i dati per data e ora.

Q:Perché usare prefissi stile Stripe (es: usr_, tx_)?

I prefissi rendono gli ID comprensibili nei log, evitano scambi di parametri nelle API e preservano l'entropia del UUID.

Cos'è Generatore di UUID?

Nel mondo dello sviluppo backend, la scelta della chiave primaria definisce la scalabilità del tuo intero progetto. Gli ID auto-incrementanti tradizionali bloccano le migrazioni e mostrano pubblicamente la crescita della tua app. Questo motore per sviluppatori ti permette di passare ai formati UUIDv4 (crittograficamente sicuri) e UUIDv7 (ordinati nel tempo) con estrema facilità. Lavorando interamente nella memoria del tuo browser (Zero Latency & Client-Side), garantisce che le tue policy di sicurezza non vengano mai compromesse. Oltre alla generazione, offre strumenti di reverse-engineering e formattazione tipica delle grandi aziende tech.

Caso d'Uso: Recupero Dati da Log Non Strutturati

Un DevOps engineer a Milano sta affrontando un'emergenza: un server è crashato e il database temporaneo è andato perduto. L'unica cosa che è rimasta è un enorme file di log di testo contenente milioni di UUIDv7 che rappresentano le sessioni degli utenti, ma senza alcun timestamp testuale associato. Invece di farsi prendere dal panico, l'ingegnere copia un campione di questi ID e li incolla nel "Reverse UUID Inspector" di questa piattaforma. Lo strumento estrae immediatamente i primi 48 bit e li converte nella data e ora esatta (UTC) in cui la sessione è stata creata. Grazie a questa funzione, l'ingegnere riesce a ricostruire l'esatta linea temporale dell'incidente e a ripristinare i dati mancanti con precisione millimetrica.

Toolkit per l'Ottimizzazione del Backend

Strumento IntegratoScopo ArchitetturaleVantaggio per il Team
Reverse UUID InspectorDecodifica la struttura matematica dei token esistenti.Permette di estrarre metadati temporali senza interrogare il database.
Generatore UUIDv7Fonde un timestamp millisecondo con entropia casuale.Mantiene le tabelle del database indicizzate e velocissime da leggere.
Prefissi Stripe-StyleAggiunge stringhe semantiche (es. ord_ per ordini).Rende il debug visivo immediato per gli sviluppatori frontend.
Zero-Collision BatchCrea array massivi di identificatori unici.Ottimizza i processi di seeding (popolamento) per gli ambienti di staging.

Storia e Origine

L'invenzione dell'UUID ha risolto uno dei problemi più complessi dell'informatica distribuita: l'identificazione univoca senza coordinamento. Basandosi su una stringa di 128 bit, il formato permette di generare trilioni di combinazioni. Per darti un'idea, se generassi un milione di UUID al secondo, ci vorrebbero secoli prima che la probabilità di una collisione (due ID identici) diventi minimamente rilevante. Mentre il UUIDv4 ha dominato l'ultimo decennio grazie alla sua pura imprevedibilità crittografica, il nuovo standard UUIDv7 è stato progettato specificamente per l'era dei big data, reintroducendo l'ordine cronologico per abbattere i costi di calcolo dei server moderni.