Artículo de consulta · Programación
Identificadores UUID
Un UUID es un identificador que permite distinguir elementos. En aplicaciones puede utilizarse como referencia para un registro o un objeto.
Qué identifica y qué no garantiza
UUID significa identificador universalmente único. Su formato es de 128 bits, pero la unicidad no es una garantía matemática para cada valor generado: las colisiones son posibles. En una base de datos, una restricción de unicidad sigue siendo necesaria cuando no pueden admitirse duplicados.
UUID de versión 4
La versión 4 usa 122 bits aleatorios; los demás indican versión y variante. En el navegador, crypto.randomUUID() genera un UUID v4 mediante un generador criptográficamente seguro. Existen otras versiones de UUID; no todas se generan del mismo modo.
Formato
El resultado es una cadena con grupos separados por guiones. Este es un ejemplo de su forma, no un valor que debas reutilizar para cada registro.
36b8f84d-df4e-4d49-b662-bcde71a8764f
Uso en JavaScript
En el navegador, crypto.randomUUID() requiere un contexto seguro, como HTTPS. Comprueba que esté disponible en tu entorno. Genera un valor nuevo para cada elemento; no vuelvas a generar el identificador de un mismo registro cada vez que lo muestras.
const articulo = {
id: crypto.randomUUID(),
titulo: "Introducción a HTML",
};
console.log(articulo.id);Identificación y permisos
Un UUID permite referenciar un objeto; no sustituye la comprobación de permisos. Si una API recibe el UUID de un registro, debe verificar que el usuario pueda acceder a él. Tampoco uses el ejemplo como un protocolo completo de autenticación o recuperación de cuentas.
Práctica
- Genera identificadores para tres artículos distintos.
- Comprueba que cada cadena tenga la forma 8-4-4-4-12 de grupos hexadecimales.
- Conserva el id al cambiar el título de un artículo: sigue siendo el mismo registro.
Referencias
Artículos relacionados
- Fundamentos: variables, condiciones y bucles
- HTML semántico y estructura de una página
- CSS: modelo de caja, Flexbox y Grid
- JavaScript: funciones, parámetros y alcance
- JavaScript: arrays, objetos y transformación de datos
- DOM y eventos: conectar JavaScript con HTML
- Promesas, async/await y peticiones con fetch
- HTTP y APIs web: peticiones, respuestas y estados
- JSON: formato, lectura y validación de datos
- Git: cambios, commits, ramas y repositorios remotos
- Node.js y npm: scripts y dependencias de un proyecto
- Depuración y pruebas: encontrar y comprobar errores
- Formatos de color: HEX, RGB y HSL
- Valores aleatorios en JavaScript
