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.