Guía

UUID v4: estructura, aleatoriedad y colisiones

Aprende a reconocer versión y variante, cuántos bits aleatorios contiene un UUID v4 y qué significa realmente que sea único.

por Tools in a Tab · Publicado el · Revisado el

Respuesta breve

Un UUID v4 es un identificador de 128 bits cuya mayor parte se genera de forma aleatoria. Se representa normalmente como 32 cifras hexadecimales en grupos:

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

El 4 fija la versión. Los bits altos de y identifican la variante definida por el formato. Al reservar esos bits quedan 122 bits aleatorios.

Ejemplo de lectura

550e8400-e29b-41d4-a716-446655440000
              ^    ^
           versión variante

La RFC 9562 define UUID v4 y reemplaza la especificación histórica RFC 4122. El generador UUID v4 usa la fuente criptográfica del navegador y fija los bits de versión y variante.

Probabilidad de colisión

Los UUID no son una prueba matemática de unicidad. Con generación uniforme, la probabilidad aproximada de al menos una colisión entre n valores pequeños respecto al espacio es:

n² / (2 × 2^122)

Incluso con mil millones de UUID, el resultado aproximado ronda 9,4 × 10^-20. La implementación defectuosa o una fuente aleatoria débil suele ser un riesgo más real que el azar ideal.

Lo que UUID v4 no garantiza

  • No ordena cronológicamente.
  • No oculta información ni sirve como contraseña.
  • No demuestra quién creó el identificador.
  • No reemplaza una restricción única en una base de datos cuando la aplicación necesita detectar una colisión.

Genera el UUID en un entorno con aleatoriedad segura, conserva la forma canónica en minúsculas o mayúsculas de manera consistente y valida versión y variante si tu contrato exige v4.