Saltar al contenido
BCBinary Code Translator
Menú

Utilidad de identificadores

Generador seguro de UUID v4

Genera UUID v4 individuales o en lote con crypto.randomUUID y un respaldo mediante crypto.getRandomValues, con opciones de mayúsculas y guiones.

Los UUID se generan localmente con aleatoriedad criptográfica del navegador. Nunca se usa Math.random.

Introduce de 1 a 1000.

Cómo generar UUID v4

Elige cantidad y formato y genera. Los 128 bits siempre contienen la versión 4 y la variante RFC. Mayúsculas y eliminación de guiones solo cambian la presentación.

  1. Introduce un entero de 1 a 1.000; el límite evita bloqueos y portapapeles enormes.
  2. Conserva el formato 8-4-4-4-12 salvo que el destino exija 32 caracteres sin guiones.
  3. Usa mayúsculas solo por compatibilidad visual; la comparación no debería distinguir entre mayúsculas y minúsculas.
  4. Copia la lista y valida longitud, formato y restricción única en el destino.

Ejemplos y comportamiento esperado

Entrada Salida Notas
1, minúsculas, con guiones 550e8400-e29b-41d4-a716-446655440000 La forma habitual se divide en grupos 8-4-4-4-12.
1, mayúsculas 550E8400-E29B-41D4-A716-446655440000 El uso de mayúsculas solo cambia la presentación.
1, sin guiones 550e8400e29b41d4a716446655440000 La forma compacta conserva los mismos 128 bits.
Nibble de versión xxxxxxxx-xxxx-4xxx-… El primer dígito del tercer grupo es 4.
Nibble de variante …-[8|9|a|b]xxx-… El primer dígito del cuarto grupo contiene la variante RFC.
Cantidad 1001 Rechazado El máximo por operación es 1.000.

Estructura y estándar UUID v4

Un UUID es un identificador de 128 bits escrito normalmente como 32 dígitos hexadecimales en grupos 8-4-4-4-12. La versión 4 reserva bits de versión y variante y deja 122 bits aleatorios.

Se prefiere crypto.randomUUID. Si no existe, se llenan 16 bytes con crypto.getRandomValues y se ajustan los bits requeridos. No existe respaldo con Math.random. Las opciones de formato se aplican después.

  • La forma canónica suele usar minúsculas y guiones.
  • La versión es 4.
  • La variante empieza por 8, 9, a o b.

Aleatoriedad y colisiones

Con 122 bits aleatorios, una colisión es despreciable a escalas normales si la fuente es correcta. Esto permite crear identificadores en clientes independientes sin coordinar una secuencia central.

También importan errores de implementación, máquinas clonadas y columnas truncadas. Conserva el valor completo y usa una restricción UNIQUE cuando la integridad dependa de no repetir. La página no puede verificar qué ocurre después de copiar.

  • Usa una restricción única en base de datos.
  • No trunques UUID para crear códigos cortos.
  • Prueba que una importación conserve los 32 dígitos.

Identificador, no secreto

Un UUID aleatorio es menos predecible que un entero secuencial, pero no es credencial. Puede aparecer en URL y registros. La autorización debe comprobarse en cada solicitud; conocer el ID no debe conceder acceso.

Tampoco lo uses directamente como clave de cifrado o token de restablecimiento. Esos diseños requieren entropía, almacenamiento, expiración, rotación y revocación específicos.

  • Separa identificación y autorización.
  • No trates todo UUID como secreto.
  • Usa tokens específicos para credenciales.

Lotes y formato textual

Los lotes sirven para fixtures, migraciones y datos semilla. El máximo de 1.000 limita memoria y errores de entrada. Cada UUID se genera de forma independiente.

Los guiones mejoran el reconocimiento; algunos sistemas antiguos exigen 32 caracteres. Las mayúsculas y minúsculas pueden afectar comparaciones textuales estrictas. Define una representación en los límites del sistema.

  • La salida usa un UUID por línea.
  • Mayúsculas y minúsculas representan el mismo valor.
  • Algunos validadores exigen forma canónica.

Usos y alternativas

UUID v4 resulta útil para claves distribuidas, registros creados por clientes, archivos, correlación y pruebas. Evita revelar contadores, aunque hay que evaluar índices en cargas altas.

Una marca temporal es predecible; un hash depende del contenido; un entero autoincremental puede ser más simple en una sola base. Elige UUID cuando la unicidad descentralizada aporte valor.

  • Crear IDs sin contactar un backend.
  • Asignar correlación en sistemas distribuidos.
  • Preparar mapeos de importación.
  • No usar UUID v4 para ordenar cronológicamente.

Errores, soporte y verificación

Se rechazan cantidades no enteras, menores que uno o mayores que 1.000. Si no hay Web Crypto seguro, la generación falla en lugar de degradarse a aleatoriedad débil.

Las pruebas verifican forma, versión, variante y límite, pero una prueba determinista no demuestra la calidad de entropía de un dispositivo real. Esta entrega no presenta mocks o pruebas Node como validación de navegador real.

  • Web Crypto moderno suele requerir HTTPS o un contexto local fiable.
  • Valida la forma en APIs.
  • Una expresión regular no prueba origen seguro.

Diferencias con hashes y tiempo

UUID v4 es aleatorio e independiente del contenido. Un hash es determinista y sirve para integridad; una marca representa tiempo; HMAC autentica datos con clave.

Esta página implementa solo v4. Si necesitas orden temporal, evalúa un estándar específico y no inventes concatenaciones propias.

Preguntas frecuentes

¿Usa Math.random?

No. Prefiere crypto.randomUUID y solo recurre a crypto.getRandomValues con los bits correctos. Si no hay fuente segura, falla.

¿Qué probabilidad hay de colisión?

Es despreciable en volúmenes normales con 122 bits aleatorios fiables. Aun así, usa UNIQUE porque los truncamientos o fallos del entorno pueden crear duplicados.

¿Sirve como secreto de API?

No. Es un identificador y puede aparecer en URL o logs. Los tokens requieren un diseño específico y la autorización debe comprobarse por separado.

¿Mayúsculas o quitar guiones cambian el UUID?

Solo cambian la representación. Un validador estricto puede exigir minúsculas con guiones, así que normaliza en los límites.

¿Por qué el límite es 1.000?

Evita bloqueos, cadenas enormes y errores de portapapeles. Para más cantidad usa lotes deliberados o un script con protecciones.

¿Las pruebas demuestran que el navegador es aleatorio?

No. Verifican uso de API y formato, pero no la entropía real de un dispositivo. No se afirma lo contrario.

Herramientas relacionadas

Ver todas las herramientas

Preferencias de cookies

Gestiona tus preferencias de cookies. Las cookies necesarias no se pueden desactivar.

Necesarias

Necesarias

Necesarias para la selección de idioma, las preferencias de privacidad y las funciones básicas del sitio.

Cookies: NEXT_LOCALE

Analíticas

Cookies analíticas opcionales que nos ayudan a entender el tráfico y mejorar el sitio.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidad

Cookies publicitarias opcionales que pueden usarse para mostrar anuncios relevantes y medir su rendimiento.

Cookies: __gads, _gcl_au, IDE