Skip to main content
CheckTown
Validadores

Validador UUID: Como verificar el formato y la version 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 informacion 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 disenados 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 generacion diferente. El numero de version aparece como el caracter 13.

  • Version 1 (v1) — basada en tiempo: combina la marca de tiempo actual con la direccion MAC de la maquina. Garantiza unicidad pero expone informacion del hardware
  • Version 3 (v3) — basada en nombre con MD5: genera un UUID deterministico hasheando un espacio de nombres y un nombre con MD5
  • Version 4 (v4) — aleatoria: la version mas utilizada. Todos los bits excepto los campos de version y variante se generan aleatoriamente
  • Version 5 (v5) — basada en nombre con SHA-1: como v3 pero usa SHA-1. Preferida sobre v3 para nuevas implementaciones
  • Version 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 validacion 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.

  • Verificacion de formato — la cadena debe contener exactamente 32 caracteres hexadecimales organizados en cinco grupos separados por cuatro guiones
  • Verificacion de version — el caracter 13 debe ser un numero de version valido (1, 2, 3, 4, 5, 6, 7 u 8)
  • Verificacion de variante — el caracter 17 debe indicar la variante RFC 4122 (8, 9, a o b)

Casos de uso comunes

Los UUID son la opcion 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 sesion 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 version correcta de UUID y manejarlos adecuadamente puede prevenir errores sutiles y problemas de rendimiento.

  • Use v4 para identificadores aleatorios de proposito general — es la opcion 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 colision 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 colision.

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.

Deberia 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