¿Qué es UUID v3?
Un UUID v3 se calcula aplicando MD5 al UUID del espacio de nombres junto con el nombre, y después se fijan los bits de versión y variante. La misma pareja (espacio de nombres + nombre) da siempre el mismo UUID.
MD5 ya no se considera un algoritmo seguro, pero aquí solo se usa para derivar identificadores, no para proteger nada. Si puedes elegir, v5 hace lo mismo con SHA-1.
Cómo se usa
- Elige el espacio de nombres: DNS, URL, OID o X.500.
- Escribe el nombre, por ejemplo
example.com. - Pulsa Generar: el resultado es siempre idéntico para esa pareja.
Casos de uso
- Identificadores estables para recursos que ya tienen una clave natural.
- Sincronizar registros entre sistemas que no comparten una base común.
- Generar claves reproducibles en scripts y pruebas automatizadas.
Las versiones de UUID de un vistazo
| Versión | ¿Ordenable? | Basada en | Para qué sirve |
|---|---|---|---|
| v1 | No | Marca de tiempo + dirección MAC | Sistemas antiguos que aún esperan v1 |
| v3 | No | Hash MD5 de un nombre | Identificadores deterministas donde se exige MD5 |
| v4 | No | 122 bits aleatorios | Prácticamente cualquier identificador |
| v5 | No | Hash SHA-1 de un nombre | Un mismo nombre debe dar siempre el mismo ID |
| v6 | Sí | Marca de tiempo reordenada | IDs ordenables sin renunciar al azar |
| v7 | Sí | Hora Unix en milisegundos | Claves primarias de base de datos y eventos |
| v8 | No | Tu propia disposición de bits | Formatos propios o experimentales |
Las siete versiones ocupan 128 bits y se escriben con la misma forma 8-4-4-4-12. Lo único que cambia es el significado de los bits.
Preguntas frecuentes
¿Por qué el mismo nombre da siempre el mismo UUID?
Porque v3 es una función determinista: el UUID se calcula a partir de los datos de entrada y no interviene ningún valor aleatorio ni el reloj. Es una propiedad, no un defecto: permite reconstruir el identificador sin guardarlo.
¿v3 o v5?
Si empiezas de cero, v5: usa SHA-1 y no arrastra las debilidades de MD5. v3 se mantiene por compatibilidad con sistemas que ya lo usan.
¿Cambia el UUID si cambio de espacio de nombres?
Sí, por completo. El espacio de nombres forma parte de la entrada, así que el mismo nombre en DNS y en URL produce dos UUID distintos.