Skip to main content
CheckTown
Validadores

Validador UUID: Como verificar el formato y la versión de cualquier UUID

Publicado 6 min de lectura
En este artículo

Que es un UUID?

Un UUID (Identificador Unico Universal) es un valor de 128 bits utilizado para identificar de forma unica la información en sistemas informaticos. Escrito como 32 digitos hexadecimales mostrados en cinco grupos separados por guiones, un UUID se ve como 550e8400-e29b-41d4-a716-446655440000.

Los UUID estan diseñados para ser globalmente unicos sin requerir una autoridad de registro central. Esto los hace ideales para sistemas distribuidos donde multiples nodos deben generar identificadores independientemente sin colisiones.

Versiones de UUID explicadas

El estandar UUID define varias versiones, cada una con un metodo de generación diferente. El número de versión aparece como el carácter 13.

  • Versión 1 (v1) — basada en tiempo: combina la marca de tiempo actual con la dirección MAC de la maquina. Garantiza unicidad pero expone información del hardware
  • Versión 3 (v3) — basada en nombre con MD5: genera un UUID deterministico hasheando un espacio de nombres y un nombre con MD5
  • Versión 4 (v4) — aleatoria: la versión mas utilizada. Todos los bits excepto los campos de versión y variante se generan aleatoriamente
  • Versión 5 (v5) — basada en nombre con SHA-1: como v3 pero usa SHA-1. Preferida sobre v3 para nuevas implementaciones
  • Versión 7 (v7) — aleatoria ordenada por marca de tiempo: un formato mas reciente que combina una marca de tiempo Unix con bits aleatorios

Pruébalo gratis — sin registro

Validar un UUID →

Como funciona la validación de UUID

Validar un UUID implica verificar tanto su formato como sus reglas estructurales. Un UUID valido debe coincidir con el patron hexadecimal canonico 8-4-4-4-12.

  • Verificación de formato — la cadena debe contener exactamente 32 caracteres hexadecimales organizados en cinco grupos separados por cuatro guiones
  • Verificación de versión — el carácter 13 debe ser un número de versión valido (1, 2, 3, 4, 5, 6, 7 u 8)
  • Verificación de variante — el carácter 17 debe indicar la variante RFC 4122 (8, 9, a o b)

Casos de uso comunes

Los UUID son la opción predeterminada para identificadores en muchos dominios del desarrollo de software moderno.

  • Claves primarias de base de datos — los UUID permiten generar claves del lado del cliente sin viajes de ida y vuelta a la base de datos
  • Identificadores de recursos API — exponer UUID en lugar de enteros secuenciales previene ataques de enumeracion
  • IDs de sesión y correlacion — los UUID rastrean solicitudes a traves de microservicios
  • Nombres de archivos y objetos — los sistemas de almacenamiento en la nube usan UUID para evitar colisiones de nombres

Mejores practicas

Elegir la versión correcta de UUID y manejarlos adecuadamente puede prevenir errores sutiles y problemas de rendimiento.

  • Use v4 para identificadores aleatorios de proposito general — es la opción mas comun sin dependencias externas
  • Use v7 cuando necesite identificadores ordenables por tiempo — los UUID v7 se ordenan cronologicamente
  • Almacene UUID como binario de 16 bytes en bases de datos en lugar de cadenas de 36 caracteres
  • Siempre valide los UUID recibidos de entrada externa — nunca asuma que las cadenas proporcionadas por usuarios estan bien formadas

Preguntas frecuentes

Pueden dos UUID ser iguales?

Aunque teoricamente posible, la probabilidad de colisión con UUID v4 es astronomicamente baja. Necesitaria generar aproximadamente 2,7 quintillones de UUID para tener un 50 por ciento de probabilidad de una sola colisión.

Es un UUID sensible a mayusculas y minusculas?

No. El estandar RFC 4122 especifica que los UUID deben mostrarse en minusculas, pero las implementaciones deben aceptar caracteres hexadecimales tanto en mayusculas como en minusculas.

Debería usar UUID o ULID?

Los ULID son identificadores de 128 bits lexicograficamente ordenables. Si necesita ordenabilidad sin la complejidad de UUID v7, los ULID son una buena alternativa.

Herramientas relacionadas