Generador de UUID Versión 4
UUIDv4 • Criptográficamente Aleatorio
00000000-0000-0000-0000-000000000000
Encapsular:
Generar UUIDs Masivos
0 msReady
Máx 5.000
Formato y Estructura
Listo
No batch active1-click copy available on each row
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.
| Campo | Rango de Bits | Propósito y Descripción |
|---|---|---|
| random_hi | 48 bits (0-47) | Entropía pseudoaleatoria criptográficamente segura. |
| ver | 4 bits (48-51) | Valor binario constante 0100 (identifica la Versión 4). |
| random_mid | 12 bits (52-63) | Entropía pseudoaleatoria criptográficamente segura. |
| var | 2 bits (64-65) | Valor binario constante 10 (variante estándar RFC). |
| random_lo | 62 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).