Validador de UUID

Validador de UUID

Hasta 100 UUID, uno por línea. Las líneas en blanco se omiten.

Un UUID son 128 bits escritos como 32 dígitos hexadecimales con el patrón 8-4-4-4-12, pero muchas cadenas que lo parecen no lo son. Pega un único identificador o una columna entera de un log, de una exportación de base de datos o de un archivo de configuración, uno por línea, y el validador da a cada línea su propio veredicto: si el formato es correcto, de qué versión es (de la 1 a la 8), qué variante tiene, si es el UUID nulo o el máximo y, en las versiones 1, 6 y 7, el momento exacto en que se creó.

Cómo validar UUID

  1. 1

    Pega tus UUID

    Uno por línea, hasta 100 líneas. Valen mayúsculas y minúsculas, y las líneas en blanco se omiten.

  2. 2

    Elige los formatos aceptados

    El modo flexible acepta además {llaves}, el prefijo urn:uuid: y los 32 dígitos sin guiones. El modo estricto solo acepta la forma simple con guiones.

  3. 3

    Lee un veredicto por línea

    Cada línea es Válido, Bien formado, no estándar o No válido, con su versión, su variante, su fecha de creación cuando la tiene y el motivo si falla.

Qué significan los tres veredictos

Cada línea acaba en uno solo de estos tres grupos:

  • Válido: el formato es correcto, los bits de variante indican un UUID conforme a la RFC 9562 (el primer dígito del cuarto grupo es 8, 9, a o b) y el dígito de versión está entre 1 y 8. El UUID nulo (00000000-0000-0000-0000-000000000000) y el UUID máximo (ffffffff-ffff-ffff-ffff-ffffffffffff) son valores especiales definidos por el estándar y cuentan como válidos.
  • Bien formado, no estándar: la cadena es un UUID correcto de 32 dígitos, pero el dígito de versión es 0 o va de 9 a f, o los bits de variante pertenecen a otra estructura (los rangos reservados NCS y Microsoft, o el rango reservado para el futuro). Algunos sistemas antiguos y GUID de otras plataformas tienen este aspecto. La herramienta indica igualmente lo que ha encontrado, pero no lee una fecha de creación en un valor así.
  • No válido: no es un UUID. La columna de detalles explica el motivo: caracteres que no son dígitos hexadecimales, un número de dígitos incorrecto (con el que ha encontrado), guiones en sitios equivocados o, en modo estricto, un envoltorio que la forma estricta no permite.

Las versiones

Versión Cómo se construye Incluye fecha
1 Hora del reloj más un identificador de nodo Sí, intervalos de 100 ns desde el 15 de octubre de 1582
2 Seguridad DCE: un identificador local sustituye parte de la hora Esta herramienta no la lee
3 Hash MD5 de un espacio de nombres y un nombre No
4 Aleatorio No
5 Hash SHA-1 de un espacio de nombres y un nombre No
6 Versión 1 con los bits de tiempo reordenados para que los valores se ordenen por fecha Sí, el mismo reloj que la versión 1
7 Tiempo Unix de 48 bits en milisegundos, y después bits aleatorios Sí, milisegundos desde 1970
8 Estructura propia que elige la aplicación No

Las versiones 6, 7 y 8 y los valores nulo y máximo proceden de la RFC 9562, que sustituyó a la RFC 4122.

Cómo leer la marca de tiempo

Las versiones 1 y 6 guardan un contador de 60 bits de intervalos de 100 nanosegundos desde el 15 de octubre de 1582, la fecha de la reforma del calendario gregoriano. La versión 7 guarda milisegundos Unix en sus primeros 48 bits. El validador muestra la hora en UTC, una vez en tu idioma y otra como cadena ISO 8601 con milisegundos, para que puedas pegarla en una consulta. Por ejemplo, 6ba7b810-9dad-11d1-80b4-00c04fd430c8, el conocido UUID del espacio de nombres DNS, es un valor de versión 1 creado el 4 de febrero de 1998 a las 22:13:53,151 UTC.

Lo que no demuestra una validación correcta

  • Un UUID válido es un UUID con la forma correcta. No demuestra que el valor lo haya generado una fuente de confianza, que sea único ni que exista en tu base de datos.
  • Un UUID de versión 4 es aleatorio, así que nada en él puede confirmar cómo se creó.
  • La marca de tiempo de una versión 1 es la que tuviera el reloj de la máquina que lo generó, que puede ser errónea o estar ajustada a propósito.

Preguntas frecuentes

No. Los dígitos hexadecimales no distinguen entre mayúsculas y minúsculas, así que 550E8400-E29B-41D4-A716-446655440000 y su equivalente en minúsculas son el mismo valor. Los estándares recomiendan las minúsculas para la salida y, cuando lo que has introducido es distinto, la herramienta muestra debajo la versión en minúsculas con guiones.

Porque su dígito de versión (el primer dígito del tercer grupo) no está entre 1 y 8, o porque sus bits de variante (el primer dígito del cuarto grupo) no son 8, 9, a ni b. Los hexadecimales escritos al azar y algunos GUID de otros sistemas tienen esta forma. Es un valor de 128 bits bien formado, pero que no sigue la estructura de la RFC 9562.

El flexible acepta las formas que aparecen en datos reales: el UUID simple con guiones, el rodeado de llaves como lo escriben .NET y el registro de Windows, el que lleva el prefijo urn:uuid: y los 32 dígitos sin guiones. El estricto solo acepta la forma simple con guiones, que es la que esperan la mayoría de las API JSON y de las bases de datos.

Hasta 100 líneas, y el texto pegado puede tener como máximo 4.000 caracteres. Las líneas en blanco se ignoran. Si pegas más de 100 líneas, se comprueban las 100 primeras y un aviso te lo indica.

No. El texto que pegas se envía a nuestro servidor para calcular los veredictos y se añade al enlace de la página cuando pasas de un paso a otro, de modo que un resultado se pueda guardar en favoritos o compartir. No se guarda en ninguna cuenta ni perfil, así que evita pegar identificadores que no pondrías en un enlace.

Herramientas relacionadas

Herramienta disponible en otros idiomas