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 bajo el ClockTools política editorial

Comparación de GUID vs UUID imagen destacada para ClockTools
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.

Esa breve respuesta es útil, pero no resuelve todas las cuestiones prácticas. Dos identificadores pueden compartir lo familiar 8-4-4-4-12 forma del texto y aún usa diferentes versiones de UUID, reglas de generación, comportamiento de ordenamiento o convenciones de serialización binaria. Cuando una columna de base de datos, API o aplicación dice GUID, el método más seguro es confirmar el formato y la versión aceptados en lugar de confiar únicamente en la etiqueta.

Utilice el ClockTools GUID Generador 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 trabajo de 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 únicos globalmente. Un valor como 550e8400-e29b-41d4-a716-446655440000 por lo tanto, se puede llamar UUID o GUID sin cambiar sus caracteres.

La distinción importante es entre una 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?sisi

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 se estableció profundamente en las plataformas de Microsoft. el Tipo .NET `System.Guid` es un ejemplo familiar.

Ambos nombres sobrevivieron porque los ecosistemas de software mantienen su vocabulario por compatibilidad. Una API de Microsoft puede exponer un guía, un esquema PostgreSQL puede utilizar un UUID columna, y una API JSON puede llamar al campo identificación. Los tres pueden tener el mismo valor de texto canónico.

No es necesario cambiar el nombre de cada campo GUID a UUID simplemente por terminología. Es necesario documentar la versión aceptada, si la carcasa importa, si se aceptan llaves y cómo se serializa el valor cuando cruza los límites del sistema.

¿Cómo se ve un UUID?

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

```texto

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

```

Las longitudes del grupo son 8, 4, 4, 4 y 12. Incluyendo cuatro guiones, la cadena canónica tiene 36 caracteres de longitud. m indica la versión nibble en diseños cubiertos por el estándar, mientras que los bits representados por norte identificar la variante. Por ejemplo, el 4 en 550e8400-e29b-41d4-a716-446655440000 identifica UUID versión 4.

Diagrama ClockTools que muestra el diseño de texto, el campo de versión y el campo de variante de 128 bits UUID
Diagrama ClockTools que muestra el diseño de texto, el campo de versión y el campo de variante de 128 bits UUID

Las mayúsculas hexadecimales no cambian el valor numérico. A716 y a716 representan los mismos bits. Guiones, llaves, a urna:uuid: un prefijo o una forma compacta pueden cambiar la cadena aceptada por un analizador, pero no necesariamente cambian el identificador subyacente. Ésa es una de las razones por las que 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 deberías elegir?

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

RequisitoGeneralmente prefiero¿Por qué?
Amplia compatibilidad con sistemas compatibles con UUID existentesUUIDv4Es maduro, familiar y comúnmente aceptado.
No hay información del tiempo de creación en el identificador.UUIDv4El 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 humanosNi por defectoUUIDs son identificadores, no códigos de confirmación amigables
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 merece más atención. Históricamente, algunas API de plataforma exponen GUID campos o matrices de bytes en un orden que difiere del orden de bytes de la red descrito por las especificaciones modernas UUID. Un viaje de ida y vuelta de cadena puede parecer correcto, mientras que un viaje de ida y vuelta sin formato de 16-byte no lo es. Cuando los sistemas intercambian UUID binarios, documente el orden de los bytes y pruebe con un valor conocido en lugar de asumir que cada biblioteca se serializa de manera idéntica.

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 ClockTools Codificador de URL 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 para algunas cargas de trabajo de clave primaria con muchos anexos, pero no es una garantía de rendimiento universal. Mide con tu propia base de datos y datos realistas. Mantenga el significado comercial en columnas separadas; un identificador no debe reemplazar 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.

Generation utiliza la fuente aleatoria criptográfica del navegador. UUID v4 establece la versión requerida y los bits de variante. UUID v7 combina el valor de milisegundos de la época actual de Unix con datos aleatorios y los bits de diseño requeridos. La página no necesita cargar identificadores generados para 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 debes evitar?

El primer error es tratar lo "único" como "imposible de colisionar". Los diseños UUID hacen que las colisiones accidentales sean extraordinariamente improbables cuando se generan correctamente, pero el software aún debe utilizar una restricción de unicidad donde los duplicados serían dañinos. Una fuente aleatoria rota, un dispositivo copiado, un error de importación o un error de aplicación pueden crear un duplicado incluso cuando las matemáticas son sólidas.

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.

¿La carga de ClockTools genera UUIDs?

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, incluido un trabajo profesional como director de marketing digital en Dubái. Su trabajo conecta el análisis de datos, la optimización de motores de búsqueda, la optimización de la tasa de conversión, los sistemas de contenido, la producción visual y la IA aplicada y el aprendizaje automático. En ClockTools, convierte esa experiencia multidisciplinaria en utilidades de navegador enfocadas y guías prácticas que tienen en cuenta las fuentes.

perfil de LinkedIn