El generador de UUID crea identificadores en todas las versiones — de v1 a v7, mas NIL y MAX — y permite generar hasta 100 a la vez. Un verificador integrado valida cualquier cadena UUID y devuelve la forma normalizada, la version y la variante RFC 4122.
Elegir la version correcta
v4 (aleatorio)
- Totalmente aleatorio, sin datos de tiempo ni hardware embebidos
- La eleccion mas comun para identificadores generales
- Los valores aleatorios causan fragmentacion del indice B-tree cuando se usan como claves primarias en bases de datos con alto volumen de inserciones
v7 (recomendado para claves de base de datos)
- Los primeros 48 bits son un timestamp Unix con precision de milisegundos
- Ordenado de forma natural por tiempo de creacion, evita la fragmentacion de indices
- Sin direccion MAC — mantiene el orden temporal sin filtrar informacion de hardware
v5 (deterministico)
- El mismo espacio de nombres + el mismo nombre siempre produce el mismo UUID
- Usa SHA-1, adecuado para generacion idempotente de IDs
- Ejemplo: el dominio
example.comsiempre producecfbff0d1-9375-5685-968c-48ce8b15ae17
v1 (tiempo + MAC)
- Contiene la direccion MAC de la maquina generadora — puede filtrar identidad de hardware
- Ordenado temporalmente, pero el campo del timestamp esta en el centro del UUID, por lo que el orden no es tan limpio como en v7
- Evitalo en proyectos nuevos; usa v6 o v7 en su lugar
v3 vs. v5
Ambos generan UUID deterministicos a partir de un espacio de nombres y un nombre. v3 usa MD5, v5 usa SHA-1. Usa v5 para proyectos nuevos. v3 existe solo para compatibilidad con sistemas heredados que lo requieren explicitamente.
Espacio de nombres y nombre para v3/v5
El espacio de nombres predeterminado es el UUID del espacio de nombres DNS 6ba7b810-9dad-11d1-80b4-00c04fd430c8. Un espacio de nombres diferente produce un UUID diferente para el mismo nombre, por lo que los espacios de nombres actuan como claves de aislamiento. Puedes proporcionar cualquier UUID valido como espacio de nombres personalizado.
Que devuelve el verificador
Pega cualquier cadena en el verificador. Devuelve:
- Si el formato es valido
- Forma normalizada en minusculas
- Version (v1–v7, o "desconocido" para no estandar)
- Variante: RFC 4122 (estandar), NCS (legacy), Microsoft (formato GUID) o Future
- Si es NIL (todo ceros) o MAX (todo efes)
Las cadenas con formato invalido reciben una respuesta "invalido" directa — el verificador no intenta adivinar la coincidencia mas cercana.