Blog de ClockTools

Herramientas para desarrolladores

GUID vs UUID: ¿Cuál es la diferencia?

GUID y UUID normalmente nombran el mismo identificador de 128 bits, pero la versión, el formato, el orden y los contratos del sistema siguen siendo importantes.

Por , desarrollador y editor | | Revisado conforme a la política editorial de ClockTools

Imagen destacada de ClockTools que compara GUID y UUID
Tabla de contenidos

GUID y UUID generalmente describen el mismo tipo de identificador: un valor de 128 bits diseñado para ser único sin pedirle a un contador central el siguiente número. Las palabras provienen de diferentes tradiciones de nombres. UUID es el término estándar, mientras que GUID es especialmente común en el software y las herramientas de desarrollo de Microsoft.

Esta respuesta breve es útil, pero no resuelve todas las cuestiones prácticas. Dos identificadores pueden compartir el conocido formato textual 8-4-4-4-12 y utilizar versiones UUID, reglas de generación, criterios de ordenación o convenciones de serialización binaria diferentes. Cuando una columna de base de datos, una API o una aplicación indica GUID, lo más seguro es confirmar el formato y la versión aceptados, sin depender solo de la etiqueta.

Utilice el generador de GUID de ClockTools cuando necesita valores UUID v4 o UUID v7 generados por el navegador, salida masiva, validación o formato listo para exportar. Los pasos de generación y validación se ejecutan localmente en el navegador.

GUID vs UUID: ¿Son iguales?

En la mayor parte del desarrollo cotidiano, GUID y UUID son nombres intercambiables para un identificador de 128 bits. El estándar actual del IETF, RFC 9562, señala explícitamente que los UUID también se conocen como identificadores globalmente únicos. Por tanto, un valor como 550e8400-e29b-41d4-a716-446655440000 puede llamarse UUID o GUID sin cambiar sus caracteres.

La distinción importante es entre un nombre y un esquema de generación. Llamar a un valor GUID no le indica si es la versión 4, la versión 7, una versión anterior basada en el tiempo o una construcción específica de la plataforma. Llamarlo UUID no garantiza que una aplicación acepte todas las versiones estandarizadas. La etiqueta identifica el tipo de datos amplio; la versión y el contrato circundante identifican cómo se comporta el valor.

PreguntaGUIDUUID
Contexto típicoAPI de Microsoft, .NET, Windows, SQL ServerEstándares de Internet, bases de datos, sistemas distribuidos, API.
Tamaño habitual128 bits128 bits
Forma de texto familiar8-4-4-4-12 grupos hexadecimales8-4-4-4-12 grupos hexadecimales
¿El nombre especifica una versión?NoNo
¿Pueden los términos referirse al mismo valor?SíSí

Es por eso que una comparación entre GUID y UUID debería centrarse menos en qué palabra es "correcta" y más en los requisitos del sistema detrás de la palabra.

¿Por qué hay dos nombres?

UUID significa identificador universalmente único. Es la terminología utilizada por los estándares del IETF la que define el diseño, las variantes, las versiones, la representación del texto y las consideraciones de generación. GUID significa identificador único global y está muy arraigado en las plataformas de Microsoft. El tipo .NET System.Guid es un ejemplo familiar.

Ambos nombres han perdurado porque los ecosistemas de software conservan su vocabulario por compatibilidad. Una API de Microsoft puede exponer un Guid, un esquema PostgreSQL puede utilizar una columna uuid y una API JSON puede llamar al campo id. Los tres pueden contener el mismo valor textual canónico.

No hace falta renombrar todos los campos GUID como UUID solo por terminología. Sí hace falta documentar la versión aceptada, si importan las mayúsculas y minúsculas, si se admiten llaves y cómo se serializa el valor al cruzar los límites entre sistemas.

¿Cómo se ve un UUID?

El formato legible por humanos común contiene 32 dígitos hexadecimales separados en cinco grupos:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Los grupos tienen longitudes de 8, 4, 4, 4 y 12. Con cuatro guiones, la cadena canónica tiene 36 caracteres. M indica el nibble de versión en los formatos del estándar, mientras que los bits representados por N identifican la variante. Por ejemplo, el 4 de 550e8400-e29b-41d4-a716-446655440000 identifica la versión 4 de UUID.

Diagrama de ClockTools que muestra el formato textual de un UUID de 128 bits y sus campos de versión y variante
Diagrama de ClockTools que muestra el formato textual de un UUID de 128 bits y sus campos de versión y variante

Las mayúsculas y minúsculas hexadecimales no cambian el valor numérico. A716 y a716 representan los mismos bits. Los guiones, las llaves, un prefijo urn:uuid: o un formato compacto pueden cambiar la cadena aceptada por un analizador, pero no necesariamente el identificador subyacente. Por eso ClockTools separa la generación del formato.

¿En qué se diferencian UUID v4 y UUID v7?

UUID v4 es la versión aleatoria más utilizada. La mayoría de los bits disponibles se completan a partir de una fuente aleatoria o pseudoaleatoria, con los bits requeridos configurados para la versión y variante. Funciona bien cuando los identificadores no deben revelar el orden de creación y cuando la generación ocurre de forma independiente en muchos clientes o servicios.

UUID v7 está ordenado por tiempo. Sus primeros 48 bits llevan una marca de tiempo de época Unix en milisegundos, seguida de la versión, la variante y los datos aleatorios. Los valores generados posteriormente generalmente se ordenan después de los valores generados anteriormente. Esto puede ser más amigable para los índices y registros ordenados porque es menos probable que los nuevos registros lleguen a posiciones no relacionadas en el espacio clave.

El tiempo ordenado no significa perfectamente secuencial. Varios valores UUID v7 creados en el mismo milisegundo aún necesitan datos adicionales para seguir siendo distintos, y el comportamiento del reloj es importante. Tampoco significa secreto: un valor v7 expone el tiempo de creación aproximado por diseño. RFC 9562 contiene los diseños normativos y la guía de generación para ambas versiones.

¿Qué versión debe elegir?

Elija la versión que coincida con el sistema receptor y el comportamiento que necesita.

RequisitoPreferencia habitual¿Por qué?
Amplia compatibilidad con sistemas compatibles con UUID existentesUUID v4Es maduro, familiar y comúnmente aceptado.
No hay información del tiempo de creación en el identificador.UUID v4El valor es aleatorio en lugar de ordenado en el tiempo.
Claves que siguen aproximadamente el tiempo de creaciónUUID v7El prefijo de marca de tiempo admite la clasificación cronológica
La API existente requiere explícitamente una versiónVersión requeridaLa compatibilidad supera las preferencias
Código corto visible para humanosNinguno por defectoLos UUID son identificadores, no códigos de confirmación fáciles de leer
Token de autenticación o secreto de restablecimiento de contraseñaUn diseño de token seguro dedicadoLa unicidad y el secreto son propiedades diferentes.

No cambie de versión sólo porque una parezca más nueva. Primero verifique el controlador de su base de datos, la biblioteca de validación, el esquema de API y los consumidores posteriores. Un validador escrito hace años puede rechazar un valor v7 válido porque solo reconoce versiones anteriores.

¿Puede el mismo UUID verse diferente?

Sí. Los mismos 128 bits subyacentes se pueden presentar en minúsculas, mayúsculas, llaves, texto entre comillas, hexadecimal compacto o forma URN estándar. ClockTools también puede empaquetar valores generados como líneas, CSV, JSON o salida compatible con SQL. Éstas son opciones de representación, no nuevos identificadores.

El intercambio binario requiere más cuidado. Históricamente, algunas API de plataforma exponen campos GUID o arrays de bytes en un orden distinto al orden de red de las especificaciones UUID modernas. Una conversión de ida y vuelta de una cadena puede parecer correcta mientras que una de 16 bytes sin procesar no lo es. Al intercambiar UUID binarios, documente el orden de los bytes y pruebe con un valor conocido, sin asumir que todas las bibliotecas serializan igual.

Para cadenas de consulta de URL o segmentos de ruta, utilice la forma canónica cuando sea posible. Si un valor circundante necesita escapar, el Codificador de URL de ClockTools puede codificar el parámetro completo sin alterar el identificador en sí.

¿Cómo se deben almacenar GUIDs y UUIDs?

Prefiera el UUID nativo de una base de datos o el tipo de identificador único cuando esté disponible y sea compatible con sus herramientas. Un tipo nativo valida la forma y normalmente almacena el valor de 128 bits de forma más compacta que una columna de texto de 36 caracteres. También puede aclarar la intención a los lectores de esquemas.

El almacenamiento de texto sigue siendo razonable cuando un sistema carece de un tipo nativo o cuando la compatibilidad requiere una cadena. En ese caso, normalice una representación, defina la longitud permitida y evite mezclar llaves, URN, mayúsculas y valores compactos en la misma columna. El formato coherente simplifica las comprobaciones de igualdad, las exportaciones y el trabajo de soporte.

El comportamiento del índice depende de la base de datos, la carga de trabajo, el patrón de inserción y el diseño del índice. UUID v7 puede mejorar la localidad en algunas cargas con muchas inserciones y claves primarias, pero no garantiza universalmente un mejor rendimiento. Mida con su propia base de datos y datos realistas. Mantenga el significado de negocio en columnas separadas: un identificador no debe sustituir una marca de tiempo de creación, un número de cliente o una regla de control de acceso.

¿Cómo puede ClockTools generarlos y validarlos?

El generador GUID y UUID en línea ofrece un flujo de trabajo enfocado:

  1. Seleccione UUID v4 para identificadores aleatorios o UUID v7 para identificadores ordenados por tiempo.
  2. Elija una cantidad de 1 a 1,000.
  3. Seleccione formato estándar, mayúsculas, llaves, entre comillas, compacto o URN.
  4. Elija codificación simple, Base64, Base64URL o URL cuando el destino lo requiera.
  5. Exporte como líneas, CSV, JSON o SQL, o copie los resultados directamente.
  6. Pegue un valor existente en el validador para inspeccionar su forma normalizada, versión, variante y valores especiales reconocidos.

La generación utiliza la fuente criptográfica de aleatoriedad del navegador. UUID v4 establece los bits requeridos de versión y variante. UUID v7 combina los milisegundos actuales desde la época Unix con datos aleatorios y los bits de formato necesarios. La página no necesita subir los identificadores generados para realizar estas operaciones.

Al comparar dos listas exportadas, utilice el Comprobador de diferencias de texto para detectar una entrada faltante, repetida o formateada sin escanear cada línea manualmente.

¿Qué errores debe evitar?

El primer error es interpretar «único» como «imposible de colisionar». Los diseños UUID hacen extraordinariamente improbable una colisión accidental cuando se generan correctamente, pero el software debe seguir utilizando una restricción de unicidad donde los duplicados sean perjudiciales. Una fuente de aleatoriedad defectuosa, datos de prueba copiados, un error de importación o un fallo de la aplicación pueden generar duplicados aunque las matemáticas sean correctas.

El segundo error es utilizar UUID como prueba de autorización. Un identificador difícil de adivinar puede reducir el descubrimiento casual, pero no otorga permiso de manera segura por sí solo. Verifique el acceso del usuario autenticado en cada solicitud protegida.

El tercer error es cambiar silenciosamente la representación. Eliminar guiones, decodificar Base64 o convertir a bytes debe ser reversible y probado. Mantenga un valor canónico en los registros para que los operadores puedan rastrearlo en todos los servicios. Si un analizador rechaza un identificador, valide la versión y el formato antes de generar un reemplazo; reemplazar una identificación puede romper las referencias que ya apuntan a ella.

Preguntas frecuentes

¿Son GUID y UUID lo mismo?

Generalmente sí. Ambos términos comúnmente se refieren a un identificador de 128 bits con la misma forma de texto estándar. UUID es el término estándar del IETF, mientras que GUID es especialmente común en los ecosistemas de Microsoft.

¿Un GUID es siempre una versión UUID 4?

No. La palabra GUID no identifica una versión UUID. Un valor con forma de GUID puede usar la versión 4, la versión 7, otra versión estandarizada o un método de generación específico de la plataforma.

¿Debo utilizar UUID v4 o UUID v7?

Utilice v4 cuando desee un identificador aleatorio ampliamente compatible sin tiempo de creación incorporado. Considere la versión 7 cuando la clasificación cronológica y la localidad del índice sean importantes, siempre que todos los sistemas receptores lo admitan.

¿Cuántos caracteres hay en un GUID o UUID estándar?

El formato de texto canónico tiene 32 dígitos hexadecimales y cuatro guiones, para un total de 36 caracteres. Las llaves, los prefijos URN, el formato compacto o las comillas pueden cambiar la longitud mostrada.

¿Puedo utilizar un UUID como token secreto?

No asuma que la unicidad proporciona secreto. Los tokens de autenticación y restablecimiento necesitan un diseño diseñado específicamente para credenciales seguras e impredecibles, junto con verificaciones de autorización y vencimiento.

¿ClockTools sube los UUID generados?

El generador GUID realiza la generación, el formateo y la validación localmente en el navegador. Utiliza la fuente aleatoria criptográfica del navegador para las partes aleatorias de los UUID compatibles.

Acerca del autor

Vigneshwaran Vijayakumar

Fundador, desarrollador y editor de ClockTools | Gerente de Marketing Digital | India

Vigneshwaran es un ingeniero con décadas de experiencia técnica, incluida su labor profesional como director de marketing digital en Dubái. Su trabajo conecta el análisis de datos, la optimización para motores de búsqueda, la optimización de la tasa de conversión, los sistemas de contenido, la producción visual y la inteligencia artificial y el aprendizaje automático aplicados. En ClockTools, convierte esa experiencia multidisciplinar en herramientas de navegador especializadas y guías prácticas respaldadas por fuentes.

Perfil de LinkedIn