Ir al contenido principal
Volver al Blog
Consejos de Desarrollo1 de junio de 20266 min de lectura

Cómo Generar un UUID: v1, v4 y v5 Explicados

Aprende qué son los UUIDs, cómo difiere cada versión y cuándo usar v1, v4 o v5 en tus aplicaciones — con guía práctica para desarrolladores.

Toda aplicación seria necesita eventualmente una forma de identificar cosas de manera única — filas de base de datos, recursos de API, tokens de sesión, eventos distribuidos. Los UUIDs (Identificadores Únicos Universales) son la solución estándar. Un UUID es un valor de 128 bits representado como 32 dígitos hexadecimales en un formato familiar: 550e8400-e29b-41d4-a716-446655440000. A pesar de parecer aleatorios, no todos los UUIDs son iguales — el número de versión incrustado en el formato determina cómo y por qué fue generado, y elegir la versión incorrecta puede crear problemas de seguridad o rendimiento que quizás no descubras hasta producción.

Qué Hace a un UUID Universalmente Único

Un UUID tiene 2^122 valores posibles — aproximadamente 5.3 undecillones. La probabilidad de generar dos UUIDs idénticos por casualidad es tan astronómicamente pequeña que se trata como imposible para todos los propósitos prácticos. Esta propiedad permite que sistemas independientes generen IDs sin coordinación — sin servidor central, sin secuencia de base de datos, sin contención de bloqueos.

El formato UUID está definido por RFC 4122. Contiene cinco grupos separados por guiones: 8-4-4-4-12 caracteres. El dígito M indica la versión (1, 3, 4 o 5), y el dígito N indica la variante. Estos dígitos no son aleatorios — son marcadores fijos que identifican el tipo de UUID.

Los UUIDs son amigables con las bases de datos: caben en una columna de 16 bytes, se ordenan consistentemente y funcionan en cualquier motor de base de datos. Su principal desventaja frente a los enteros autoincrementales es que no son secuenciales por defecto, lo que puede causar fragmentación de índices en índices B-tree a altas tasas de inserción.

UUID v1: Basado en Tiempo y Dirección MAC

Los UUIDs versión 1 se generan a partir de dos entradas: la marca de tiempo actual (medida en intervalos de 100 nanosegundos desde el 15 de octubre de 1582) y la dirección MAC de la interfaz de red de la máquina generadora. La marca de tiempo proporciona ordenamiento, y la dirección MAC proporciona unicidad de nodo.

La propiedad de ordenamiento de los UUIDs v1 es genuinamente útil en bases de datos de series de tiempo y registros de eventos. Los registros se ordenan naturalmente en orden cronológico cuando se clasifican por su UUID, y puedes extraer la marca de tiempo de generación del propio UUID.

La preocupación de seguridad con v1 es significativa: la dirección MAC incrustada en cada UUID expone la identidad del hardware de la máquina generadora. En una API pública, devolver UUIDs v1 filtra información de la interfaz de red del servidor a los clientes. Para cualquier identificador visible externamente, v4 o v5 es la opción más segura.

UUID v4: Aleatorio y el Predeterminado Seguro

Los UUIDs versión 4 se generan a partir de 122 bits de datos criptográficamente aleatorios. Los otros 6 bits son marcadores fijos de versión y variante. No hay marca de tiempo, no hay dirección MAC y no hay patrón derivable. Un UUID v4 es tan cercano a la pura aleatoriedad como permite el formato UUID.

v4 es el predeterminado correcto para la mayoría de casos de uso de aplicaciones web: claves primarias en bases de datos relacionales, IDs para recursos de API, tokens para cargas de archivos, identificadores para contenido generado por usuarios. Dado que v4 no revela nada sobre el tiempo o lugar de generación, es seguro exponerlo en URLs, respuestas de API y código del lado del cliente.

La única limitación de v4 es que la misma entrada nunca puede producir la misma salida — cada llamada produce un UUID diferente independientemente de la entrada. Si necesitas generación de IDs determinista (la misma entrada siempre produce el mismo ID), v5 es lo que necesitas.

UUID v5: Determinista y Basado en Espacio de Nombres

Los UUIDs versión 5 se generan hasheando un UUID de espacio de nombres y una cadena de nombre juntos usando SHA-1. La salida es determinista: el mismo espacio de nombres y nombre siempre producen el mismo UUID. Esta es la propiedad clave que distingue v5 de todas las demás versiones.

Los usos prácticos para v5 incluyen almacenamiento dirigido por contenido (generar un ID estable para una URL o ruta de archivo), sistemas de deduplicación (dos registros con el mismo identificador de origen obtienen el mismo UUID) y escenarios de federación donde dos sistemas que generan IDs a partir de los mismos datos de origen acordarán el mismo UUID sin comunicarse.

El espacio de nombres es en sí mismo un UUID que delimita el espacio de nombres. RFC 4122 define cuatro espacios de nombres estándar: DNS, URL, OID y X.500. También puedes crear tu propio UUID de espacio de nombres (típicamente un v4 aleatorio) para evitar colisiones con otros sistemas que usan los mismos nombres.

Elegir la versión correcta de UUID es una decisión simple: usa v4 para IDs aleatorios en la mayoría de contextos de aplicaciones web, usa v5 cuando necesites IDs deterministas derivados de una entrada conocida, y usa v1 solo en sistemas internos donde el ordenamiento por marca de tiempo es importante y la exposición de la dirección MAC no es una preocupación. Un generador de UUIDs te permite producir los tres formatos de inmediato para probar tu integración sin escribir código de generación de plantillas.

Herramienta relacionada

Generador de UUID

Genera UUIDs conformes a RFC en formatos v1, v4 y v5 al instante.

Abrir herramienta
Y
Yanapex

Yanapex proporciona herramientas en línea gratuitas para resolver problemas cotidianos. Sin registro requerido, con enfoque en privacidad, solo herramientas que funcionan.

Idioma

© 2026 Yanapex. Todos los derechos reservados.