Generar valores UUID v4 aleatorios
Un UUID versión 4 es un valor de 128 bits en el que 122 bits proceden de una fuente aleatoria criptográficamente segura. Los 6 bits restantes indican la versión y la variante RFC; por eso todo UUID v4 tiene un 4 al inicio del tercer grupo.
Ejemplo resuelto
- Bytes aleatorios de entrada
- 9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
- Resultado
- 9d417c02-e85b-43f6-aa7e-c19406d3b85f
| UUID generados | Probabilidad de al menos un duplicado |
|---|---|
| 10⁶ | ≈ 9,4 × 10⁻²⁶ |
| 10⁹ | ≈ 9,4 × 10⁻²⁰ |
| 10¹² | ≈ 9,4 × 10⁻¹⁴ |
| 10¹⁵ | ≈ 9,4 × 10⁻⁸ |
UUID necesarios para un 50 % de probabilidad de duplicado: ≈ 2,71 × 10¹⁸
Cómo funciona
- El generador llena 16 bytes con datos aleatorios seguros y luego fija el nibble alto del byte 6 en 4 (versión) y los dos bits superiores del byte 8 en 10 (variante). Así, el tercer grupo empieza por 4 y el cuarto por 8, 9, a o b.
- Con 2¹²² valores posibles, la aproximación del cumpleaños p ≈ 1 − e^(−n²/2¹²³) da la probabilidad de que n UUID aleatorios contengan al menos un duplicado.
- Un UUID v4 no revela marcas de tiempo ni datos del equipo. Úsalo como identificador, no como contraseña ni como secreto de autenticación.
Genere de 1 a 100 UUIDs a la vez
Acerca de los UUIDs
UUID v1: UUIDs basados en tiempo que incluyen una marca de tiempo y la dirección MAC de la computadora que genera el UUID. Útil cuando necesita saber cuándo se creó el UUID.
UUID v4: UUIDs generados aleatoriamente. Esta es la versión más comúnmente utilizada y proporciona buena unicidad con fuga mínima de información.
UUID v5: UUIDs basados en nombres usando hash SHA-1. Dado el mismo espacio de nombres y nombre, siempre obtendrá el mismo UUID. Útil para generación determinística de UUID.