Saltar al contenido principal

Generador de UUID Versión 4

UUIDv4 • Criptográficamente Aleatorio
00000000-0000-0000-0000-000000000000
Encapsular:

Generar UUIDs Masivos

Máx 5.000
Formato y Estructura

Listo

No batch active
Estándar de la Industria•RFC 9562 Sección 5.4 / RFC 4122

Especificación Técnica UUID Versión 4 (RFC 4122 y RFC 9562)

UUIDv4 es la versión más utilizada en el mundo. De sus 128 bits totales, exactamente 122 bits son aleatoriedad criptográficamente segura, reservando 6 bits para la versión (0100) y la variante (10xx).

Distribución de Bits y Estructura Binaria

Distribución detallada de 128 bits según las normas RFC.

CampoRango de BitsPropósito y Descripción
random_hi48 bits (0-47)Entropía pseudoaleatoria criptográficamente segura.
ver4 bits (48-51)Valor binario constante 0100 (identifica la Versión 4).
random_mid12 bits (52-63)Entropía pseudoaleatoria criptográficamente segura.
var2 bits (64-65)Valor binario constante 10 (variante estándar RFC).
random_lo62 bits (66-127)Entropía pseudoaleatoria criptográficamente segura.
✓

Ventajas y Fortalezas

  • •Privacidad máxima: no filtra marcas de tiempo, direcciones MAC ni información de origen.
  • •Soporte universal en todas las bibliotecas de lenguajes de programación y motores de bases de datos.
  • •Impredecible por diseño, inmune a ataques de enumeración o adivinanza IDOR.
!

Consideraciones y Desventajas

  • •Rendimiento deficiente en índices B-Tree de bases de datos por escrituras aleatorias.
  • •No se puede ordenar cronológicamente sin una columna auxiliar created_at.

Recomendado para

  • →Tokens de sesión, claves de API, enlaces de restablecimiento de contraseña y códigos OAuth.
  • →Identificadores opacos y privados orientados al usuario.
  • →Cachés distribuidas (Redis, Memcached) y claves no indexadas.

Cuándo evitar

  • ✕Claves primarias con alto volumen de inserción en índices B-Tree (use UUIDv7).
  • ✕Registros que requieran ordenación lexicográfica natural.

Ejemplos de Implementación en Código

Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"
Python Standard LibraryPython
import uuid

id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"
Go (google/uuid)Go
package main

import (
  "fmt"
  "github.com/google/uuid"
)

func main() {
  id := uuid.New()
  fmt.Println(id.String())
}

Preguntas Frecuentes

¿Cuántos UUIDv4 posibles existen?▼
Ofrece 122 bits de entropía (aproximadamente 5.3 × 10^36 combinaciones únicas). La posibilidad de colisión es de menos de una entre mil millones tras generar mil millones de IDs por segundo durante 85 años.
¿Utiliza Math.random()?▼
No. Emplea la API Web Crypto (crypto.getRandomValues), que obtiene entropía directamente del kernel del sistema operativo (CSPRNG).