Generatore UUID
Generare e validare UUIDs. Veloce, sicuro e funziona offline.
Generatore UUID
🔍 Need help choosing? Click for specific use cases
Validatore UUID/ULID
UUID/ULID Information
📚 Documentazione ufficiale:
- • RFC 4122 - Specifica UUID originale (v1-v5)
- • RFC 9562 - Specifica UUID aggiornata (v6-v8, 2024)
- • ULID Specification - Specifica ULID canonica
- • Wikipedia: UUID - Panoramica completa
⏰ UUID v1 - Basato su tempo
Use case: Chiavi primarie database, sistemi legacy, sistemi distribuiti che necessitano ordine temporale
Pros: Ordinamento cronologico naturale, unico nello spazio e nel tempo
Cons: Contiene indirizzo MAC e timestamp - considerare implicazioni privacy per applicazioni pubbliche
⚠️ UUID v2 - Sicurezza DCE (Riservato)
Riservato per UUID di sicurezza DCE. Definito in RFC 4122 ma implementazione complessa e considerazioni di sicurezza lo rendono raramente usato in pratica
⚠️🔐 UUID v3 - Hash MD5 (déprécié)
Use case: Sistemi legacy che richiedono UUID deterministici da nomi
Example: Migrazione sistemi vecchi dove serve lo stesso UUID per "user:john@example.com" ogni volta
Good for: Migrazione utenti, sincronizzazione dati, UUID riproducibili tra sistemi
Note: MD5 ha vulnerabilità crittografiche note, v5 è preferito per nuovi progetti
🎲 UUID v4 - Casuale (Più Popolare)
Use case: Uso generale, API, ID sessione, identificatori file
Example: ID utente, ID ordine - qualsiasi cosa necessiti unicità senza ordine temporale
Why popular: Semplice, sicuro, nessuna dipendenza da MAC/tempo
Database caveat: Natura casuale può causare frammentazione indice e prestazioni inserimento scarse
🔐 UUID v5 - Hash SHA-1
Use case: UUID deterministici da nomi (migliore di v3)
Example: Indirizzamento contenuto - stesso contenuto ottiene sempre stesso UUID: "article:come-usare-uuid"
Good for: Deduplicazione, build riproducibili, indirizzamento basato su contenuto
⏰ UUID v6 - Ordinato temporalmente (RFC 9562)
Design: Uguale a v1 ma con bit timestamp riordinati da più a meno significativo
Use case: Prestazioni database con ordinamento lessicografico per tempo creazione
Advantage: Abilita ordinamento UUID per tempo creazione semplicemente ordinando lessicograficamente, diversamente da v1
⏰ UUID v7 - Timestamp Unix (RFC 9562)
Design: Timestamp Unix 48-bit + 80-bit casualità (concetto simile a ULID)
Use case: Applicazioni moderne che necessitano ID ordinabili con timestamp Unix
Benefits: Ordinabile lessicograficamente, formato UUID standard, eccellenti prestazioni database
⏰ ULID - Ordinabile lessicograficamente
Design: Timestamp 48-bit + 80-bit casualità, codificato Base32 (26 caratteri)
Use case: API e database dove vuoi ID leggibili e ordinabili
Features: URL-safe, case-insensitive, ordinabile lessicograficamente, precisione millisecondi
ULID vs UUID v7 - Contesto storico 📚
Timeline: ULID è stato creato prima per risolvere problemi ordinabilità UUID
UUID v7 inspiration: UUID v7 (RFC 9562, 2024) si è ispirato al design di ULID
Key difference: ULID usa codifica Base32 (26 char), UUID v7 usa formato UUID standard (36 char)
Current trend: UUID v7 sta diventando preferito per nuovi progetti grazie a standardizzazione ufficiale
💡 Casi d'uso comuni:
- General purpose: Uso generale/API: v4 (ampiamente supportato, ma evitare come chiavi primarie DB)
- Database keys: Chiavi primarie database: v6, v7, o ULID (migliori prestazioni inserimento)
- Time-ordered data: Dati ordinati temporalmente: v1, v6, v7, o ULID
- Deterministic UUIDs: Deterministico da nomi: v5 (o v3 per legacy)
- Legacy systems: Compatibilità legacy: Mantenere versione esistente
- Public APIs: API pubbliche: v4 o ULID