UUID explicados: v1 vs v4 vs v7 y cuándo usar cada uno
Un UUID es una etiqueta de 128 bits escrita como 32 dígitos hexadecimales en cinco grupos — 8, 4, 4, 4 y 12 caracteres — diseñada para que cualquiera pueda crear uno en cualquier lugar sin pedir permiso a una autoridad central. Identifican filas, archivos, sesiones y claves API entre sistemas que nunca hablan entre sí.
1. v1: tiempo más máquina
La versión 1 incorpora una marca de tiempo y un identificador de nodo, normalmente derivado de la tarjeta de red. Los ID se ordenan más o menos por hora de creación, lo que encanta a las bases de datos, pero revelan cuándo y dónde se crearon — un olor a privacidad que alejó de v1 a la mayoría de los sistemas nuevos.
2. v4: azar puro
La versión 4 llena 122 de los 128 bits desde una fuente aleatoria criptográfica, con cuatro bits fijos que marcan la versión. Las probabilidades de colisión son absurdamente pequeñas — generar mil millones de ID por segundo durante un siglo deja la probabilidad de un solo duplicado muy por debajo de las tasas de fallo de hardware — pero el azar dispersa los índices de la base de datos, ralentizando inserciones en tablas enormes.
3. v7: el estándar moderno
La versión 7 pone primero una marca de tiempo en milisegundos y llena el resto al azar, dando ID ordenados en el tiempo sin revelar la identidad de la máquina. Los proyectos nuevos que necesitan identificadores ordenables y adaptados a índices deberían elegir v7; es lo que produce nuestro generador de UUID junto al clásico v4.
4. Cuándo no usar un UUID
Los códigos cortos legibles por humanos, los números de factura y todo lo que los usuarios escriben a mano están mejor servidos por contadores o codificaciones compactas — los UUID son largos, impronunciables y propensos a errores de escritura. Nunca uses un UUID como secreto: son únicos, no impredecibles, ya que v1 y v7 contienen marcas de tiempo y v4, aunque aleatorio, suele quedar registrado o expuesto en URL.