UUID Generator
Genera identificadores UUID v4 únicos universalmente.
¿Qué es un UUID y para qué sirve?
Un UUID (Universally Unique Identifier) es un identificador estándar de 128 bits representado en 36 caracteres hexadecimales separados por guiones (8-4-4-4-12). La probabilidad de generar dos UUIDs iguales es astronómicamente baja: aproximadamente 1 en 2^122 para UUIDs v4. Esto los hace ideales para identificar recursos de forma única sin necesidad de un servidor central que coordine la asignación.
Existen 5 versiones de UUID: v1 (basado en tiempo y MAC), v2 (DCE Security), v3 (MD5 hash), v4 (aleatorio) y v5 (SHA-1 hash). Esta herramienta genera UUIDs v4, que utilizan números aleatorios y son los más utilizados en aplicaciones web modernas.
Casos de uso prácticos
Claves primarias en bases de datos: A diferencia de los IDs autoincrementales, los UUIDs no revelan información sobre el volumen de datos y permiten generar IDs en múltiples servidores sin conflictos.
Identificadores de sesión: Los tokens de sesión basados en UUIDs son impredecibles y únicos, proporcionando una capa de seguridad adicional.
Nombres de archivo: Al subir archivos de usuario, usar UUIDs como nombres evita colisiones y previene la enumeración de archivos.
APIs distribuidas: Los request IDs en formato UUID permiten rastrear peticiones a través de múltiples microservicios en sistemas distribuidos.
Preguntas frecuentes
¿Es posible que se repita un UUID?
La probabilidad es prácticamente cero. Generando 1 billón de UUIDs v4 por segundo durante 100 años, la probabilidad de una sola colisión sería del 50%. En la práctica, es más probable que te caiga un meteorito.
¿UUID vs autoincremento en bases de datos?
UUIDs son mejores para sistemas distribuidos, APIs públicas y cuando no quieres revelar el volumen de datos. Autoincremento es más eficiente en almacenamiento y mejor para índices en bases de datos monolíticas. Muchos sistemas usan ambos: UUID público e ID interno.
¿Qué significan los números en un UUID?
En un UUID v4 como "550e8400-e29b-41d4-a716-446655440000", el tercer grupo empieza con "4" (indica versión 4) y el cuarto grupo empieza con "8", "9", "a" o "b" (indica variante 1). El resto son valores aleatorios.
¿Los UUIDs afectan el rendimiento de la base de datos?
Sí, los UUIDs v4 aleatorios pueden causar fragmentación en índices B-tree porque no son secuenciales. Alternativas como ULID o UUID v7 generan IDs ordenados por tiempo que mantienen la unicidad y mejoran el rendimiento de índices.
Versiones de UUID
| Versión | Base | Uso |
|---|---|---|
| v1 | Tiempo + MAC | Sistemas legacy |
| v3 | MD5 hash | IDs deterministas |
| v4 | Aleatorio | Uso general (más popular) |
| v5 | SHA-1 hash | IDs deterministas seguros |