Decodificador de UUID - Validar y Decodificar UUIDs en Línea

Valide y decodifique UUIDs para extraer versión, marca de tiempo y otros metadatos. Admite todas las versiones de UUID (v1-v7) con análisis detallado.

Pruebe estos ejemplos:

¿Qué es la decodificación UUID?

La decodificación UUID es el proceso de analizar un UUID para extraer información sobre:

  • Versión: Qué versión de UUID (1-8) basada en 4 bits en la posición 48-51
  • Variante: Qué variante de UUID (generalmente RFC 4122) basada en los bits 64-65
  • Componentes: Extracción de marca de tiempo, ID de nodo u otros datos según la versión
  • Tiempo de generación: Para UUIDs basados en tiempo (v1, v6, v7)

Ejemplo: 123e4567-e89b-12d3-a456-426614174000 es un UUID Versión 1 creado el 2018-10-03 09:45:32 UTC.

Descripción general de la estructura UUID

FormatoDescripción
8-4-4-4-1232 dígitos hexadecimales agrupados con guiones
Bits de versiónBits 48-51 (13º dígito)
Bits de varianteBits 64-65 (17º dígito)

El número de versión aparece como el primer dígito hexadecimal en el tercer grupo (por ejemplo, 123e4567-e89b-12d3-a456-426614174000 para la versión 1).

Decodificación por versión de UUID

VersiónQué se puede decodificar
UUID v1
  • Marca de tiempo (con precisión de 100ns, desde el 15 de octubre de 1582)
  • Dirección MAC (si no está aleatorizada)
  • Secuencia de reloj (para evitar colisiones)
UUID v3/v5
  • No se puede decodificar la entrada original
  • Se puede verificar si se creó a partir de entradas conocidas
  • Se puede distinguir entre v3 (MD5) y v5 (SHA-1)
UUID v4
  • Solo datos aleatorios
  • No hay información extraíble
  • Se puede verificar si es un UUID v4 válido
UUID v6
  • Marca de tiempo (con precisión de 100ns, desde el 15 de octubre de 1582)
  • Dirección MAC (si no está aleatorizada)
  • Secuencia de reloj (para evitar colisiones)
UUID v7
  • Marca de tiempo Unix (precisión de milisegundos)
  • Componente aleatorio (no decodificable)
ULID
  • Marca de tiempo Unix (precisión de milisegundos)
  • Componente aleatorio (no decodificable)

Extracción de marcas de tiempo de UUIDs

Tipo de UUIDMétodo de extracción de tiempoÉpoca
UUID v1Combinar bits 0-31, 32-47 y 48-59, reordenando componentes de marca de tiempo15 de octubre de 1582
UUID v6Extraer bits 0-59 (ya en orden correcto)15 de octubre de 1582
UUID v7Extraer bits 0-47 (milisegundos Unix)1 de enero de 1970
ULIDDecodificar los primeros 10 caracteres Base32 para obtener 48 bits de milisegundos Unix1 de enero de 1970

Reglas de validación de UUID

  • Verificación de formato: 8-4-4-4-12 dígitos hexadecimales con guiones
  • Verificación de versión: El 13º carácter debe ser 1-8
  • Verificación de variante: El 17º carácter debe ser 8, 9, A o B (para RFC 4122)

Expresión regular para la validación básica de UUID:

^[0-9a-f]8-[0-9a-f]4-[1-8][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$

Aplicaciones prácticas

  • Análisis forense: Determinar cuándo se crearon los ID
  • Depuración: Rastrear el comportamiento del sistema a través de marcas de tiempo de ID
  • Auditoría: Validar la integridad cronológica
  • Análisis de seguridad: Detectar ID falsificados o manipulados
  • Recuperación de datos: Reconstruir relaciones temporales
  • Migraciones de sistemas: Comprender los detalles de implementación de UUID heredados

Extracción de dirección MAC (v1/v6)

Para UUID v1 y v6, a menudo puede extraer el identificador de nodo (dirección MAC) si no se aleatorizó durante la generación:

  1. Extraiga los últimos 12 dígitos hexadecimales (48 bits) del UUID
  2. Formatee con dos puntos como XX:XX:XX:XX:XX:XX
  3. Compruebe si la dirección MAC es real o aleatoria examinando el bit de multidifusión

Si el primer byte tiene el bit 0x01 establecido, es probable que sea un ID de nodo aleatorizado en lugar de una dirección MAC real.

Preguntas frecuentes

¿Puedo determinar exactamente cuándo se creó un UUID v4?

No. UUID v4 es puramente aleatorio sin información de marca de tiempo. No se puede determinar el momento de creación a partir de un valor UUID v4.

¿Qué tan precisas son las marcas de tiempo en UUIDs basados en tiempo?

Las marcas de tiempo UUID v1/v6 tienen una precisión de 100 nanosegundos. UUID v7 y ULID tienen una precisión de milisegundos. Sin embargo, la precisión real del reloj del sistema puede variar.

¿Puedo convertir entre versiones de UUID?

No, no puede convertir directamente entre versiones mientras preserva el mismo valor de identificador. Las diferentes versiones tienen estructuras fundamentalmente diferentes.

¿Puedo identificar la computadora que generó un UUID v1?

Si el ID de nodo no fue aleatorizado, un UUID v1 puede contener la dirección MAC del sistema generador. Sin embargo, muchas implementaciones modernas aleatorizan esto por privacidad.

¿Cómo puedo saber si un UUID es válido?

Verifique el formato (8-4-4-4-12 dígitos hexadecimales), verifique que el dígito de versión (13º carácter) sea 1-8, y confirme que los bits de variante (17º carácter es 8, 9, A o B para UUIDs RFC 4122).

Recursos