Generador de UUID (v4)

Genera uno o varios UUID aleatorios de versión 4 en tu navegador con la fuente de aleatoriedad criptográfica — nada se envía a un servidor.

1.054 visitas

Qué Hace Único a un UUID v4

Un UUID (Identificador Único Universal) es un número de 128 bits, escrito convencionalmente como 36 caracteres divididos en grupos 8-4-4-4-12 en hexadecimal, como f47ac10b-58cc-4372-a567-0e02b2c3d479. De esos 128 bits, la versión 4 — la variante que genera esta herramienta — rellena 122 con la salida de un generador de números aleatorios criptográficamente seguro. Los 6 bits restantes no son aleatorios en absoluto: son marcadores fijos que identifican el UUID como versión 4 y señalan su "variante", razón por la cual el carácter justo después del segundo guion es siempre 4, y el primer carácter del siguiente grupo es siempre 8, 9, a o b.

122 bits aleatorios son un espacio enorme: 2^122 valores posibles, aproximadamente 5,3×10³⁶. Para hacerlo tangible, si cada dispositivo de la Tierra generara mil millones de UUID por segundo de forma continua, aún haría falta del orden de decenas de miles de millones de años de generación combinada antes de que la probabilidad de una sola coincidencia accidental alcanzara siquiera el 50%. Por eso los sistemas distribuidos — servicios que se ejecutan en cientos de servidores independientes sin ninguna coordinación entre ellos — pueden generar cada uno sus propios UUID de forma local y confiar, sin consultar un registro central, en que dos nunca coincidirán. Ese es precisamente el propósito del formato: identificación única sin necesidad de consultar una base de datos.

La generación ocurre aquí por completo dentro de tu navegador mediante la función crypto.randomUUID() de la Web Crypto API — la misma fuente de aleatoriedad criptográfica que usan los navegadores para operaciones sensibles a la seguridad. Nada se envía a un servidor, no se registra ninguna semilla, y cada UUID que generas es independiente de todos los demás.

Qué Debes Saber Antes de Usar UUID

v4 no es la única versión. v1 y v6 incorporan una marca de tiempo y la dirección de red de la máquina que los genera, lo que los hace ordenables pero también filtra información sobre cuándo y dónde se crearon. v5 aplica un hash a un nombre que tú proporcionas, produciendo el mismo UUID cada vez para la misma entrada — útil cuando necesitas un identificador determinista en lugar de uno aleatorio. v7, un estándar más reciente, combina un prefijo de marca de tiempo con bits aleatorios, dándote a la vez unicidad y un orden cronológico natural. v4 sigue siendo la opción correcta por defecto siempre que simplemente necesites un identificador aleatorio, no adivinable y libre de colisiones, sin necesidad de que codifique una fecha o un nombre.

Una advertencia práctica: como los valores v4 son totalmente aleatorios, usarlos como clave primaria de base de datos puede perjudicar el rendimiento de inserción en tablas indexadas con B-tree, ya que las filas nuevas caen en posiciones impredecibles del índice en lugar de añadirse ordenadamente en un extremo. Si el rendimiento de inserción importa a gran escala, una alternativa ordenada por tiempo como UUIDv7 o ULID mantiene la misma garantía de unicidad de 128 bits mientras sigue siendo favorable para los índices.

Preguntas Frecuentes

¿Pueden colisionar dos UUID generados?

En teoría sí, en la práctica nunca: con 2^122 posibilidades, generar mil millones de UUID por segundo durante 85 años da aproximadamente un 50% de probabilidad de una sola colisión. Sistemas de todo el mundo confían en esto.

¿Debería usar UUID como claves primarias de base de datos?

Destacan en la generación distribuida y en IDs no adivinables, pero los v4 aleatorios fragmentan los índices B-tree. Si el rendimiento de inserción importa, considera UUIDv7 (ordenado por tiempo) o ULID — mismo tamaño, favorable para los índices.

¿Es v4 la única versión?

No — v1/v6 incorporan una marca de tiempo y una dirección MAC, v5 aplica un hash a un nombre y siempre produce el mismo resultado, v7 es un formato más nuevo que combina una marca de tiempo con aleatoriedad. v4 sigue siendo la opción por defecto cuando solo necesitas un ID único aleatorio.

¿Para qué sirven los bits fijos de un UUID v4?

De los 128 bits, solo 122 son aleatorios. Los otros 6 están reservados para marcar el propio formato — un nibble está fijado para indicar "versión 4", y otro está restringido a un pequeño conjunto de valores (8, 9, a o b) para marcar la "variante". Por eso todo UUID v4 tiene un 4 justo después del segundo guion, sin importar cuántos generes.

¿Puedo usar un UUID como token de seguridad, como un enlace de restablecimiento de contraseña?

Un UUID v4 se genera a partir de una fuente aleatoria criptográficamente segura, así que adivinar uno no es práctico — pero fue diseñado para la unicidad, no para el secreto. Para cualquier caso sensible a la seguridad, combínalo con una caducidad adecuada, la aplicación de un solo uso y validación en el servidor, en lugar de confiar únicamente en el UUID.

Comentarios

Aún no hay comentarios — ¡sé el primero en escribir uno!

Herramientas Similares