Generador de UUID
Genere e inspeccione identificadores criptográficos UUIDv4 y UUIDv7 ordenados cronológicamente sin latencia. Incluye Inspector Inverso de UUID, extracción de marca de tiempo UTC, formato estilo Stripe y generación por lotes sin colisiones.
Herramientas en LíneaFormateo Avanzado (Estilo Stripe)
Aplique prefijos de entidad, elimine guiones y adapte identificadores para esquemas ORM de producción.
usr_018f3a5b-9d48-7e30-b98a-5e4d21f879abFragmentos de Código para Desarrolladores
Código listo para entornos de producción para instanciar esta arquitectura en su lenguaje favorito.
// RFC 9562 UUIDv7 in JavaScript / TypeScript (Native Web Crypto)
export function generateUUIDv7(): string {
const time = Date.now();
const timeHex = time.toString(16).padStart(12, '0');
const rand = new Uint8Array(10);
window.crypto.getRandomValues(rand);
rand[0] = (rand[0] & 0x0f) | 0x70; // Version 7
rand[2] = (rand[2] & 0x3f) | 0x80; // Variant RFC 4122
const randHex = Array.from(rand).map(b => b.toString(16).padStart(2, '0')).join('');
return `${timeHex.slice(0,8)}-${timeHex.slice(8,12)}-${randHex.slice(0,4)}-${randHex.slice(4,8)}-${randHex.slice(8,20)}`;
}Especificaciones Técnicas RFC 9562 y RFC 4122
Referencia técnica autorizada para identificadores únicos universales de 128 bits.
Evolución de RFC 4122 (2005) a RFC 9562 (Mayo 2024)
Publicado por el IETF en mayo de 2024, RFC 9562 sustituye a RFC 4122 para resolver problemas críticos de escala en bases de datos modernas. Mientras RFC 4122 definía UUIDv1 y UUIDv4, las arquitecturas modernas requerían identificadores con ordenación secuencial nativa. RFC 9562 formaliza UUIDv6, UUIDv7 y UUIDv8.
Entropía Criptográfica y Matemática de Colisiones
Cálculo riguroso de probabilidades basado en la Paradoja del Cumpleaños en espacios de 128 bits.
Para un espacio de N estados y k identificadores generados, la probabilidad de colisión se calcula como:
| Identificadores Generados | Probabilidad de Colisión |
|---|---|
1.000.000 (10⁶) Generación instantánea en lote (batch) | ≈ 1 × 10⁻²⁵ (Prácticamente 0) |
1.000.000.000 (10⁹) 1 mil millones de registros en base cloud | ≈ 1 × 10⁻¹⁹ |
100.000.000.000 (10¹¹) Escala de cluster global de telecomunicaciones | ≈ 1 × 10⁻¹⁵ |
2,71 × 10¹⁸ Generación de 1 mil millones ID/seg durante 85 años | ≈ 0,0000001% (1 en mil millones) |
Guía de Integración en Bases de Datos de Producción
Configuraciones DDL óptimas para PostgreSQL, MySQL InnoDB y SQLite.
-- Recommended Schema for High-Throughput Tables
CREATE TABLE app_events (
id UUID PRIMARY KEY, -- Stores 16 bytes binary
payload JSONB NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- Extract timestamp directly from UUIDv7
-- No extra created_at index required!
SELECT id, ('x' || lpad(substr(replace(id::text, '-', ''), 1, 12), 16, '0'))::bit(64)::bigint
AS epoch_ms FROM app_events;-- Use BINARY(16) for Compact Primary Key
CREATE TABLE production_orders (
id BINARY(16) PRIMARY KEY,
amount DECIMAL(10,2) NOT NULL,
status VARCHAR(32) NOT NULL
) ENGINE=InnoDB;
-- Insert UUIDv7 converted to binary
INSERT INTO production_orders (id, amount, status)
VALUES (UUID_TO_BIN('018f3a5b-9d48-7e30-b98a-5e4d21f879ab', 1), 99.50, 'paid');Cómo Usar el Generador Criptográfico de UUID
Guía paso a paso para desarrolladores para generar, inspeccionar, formatear y optimizar identificadores de 128 bits en bases de datos.
Seleccione la Arquitectura del Identificador
Elija entre UUIDv7 (ordenado cronológicamente y monótono para claves primarias en bases de datos) o UUIDv4 (aleatoriedad criptográfica pura para tokens de sesión y secretos).
Genere Identificadores Criptográficos
Haga clic en Regenerar para crear un identificador de 128 bits mediante la API nativa Web Crypto (window.crypto), con latencia sub-milisegundo y cero colisiones.
Aplique Formato Estilo Stripe
Añada prefijos de entidad (ej: usr_, tx_), alterne entre mayúsculas y minúsculas, elimine guiones o envuelva en formatos SQL, GUID y Base64URL.
Inspeccione y Decodifique en el Inspector
Acceda a la pestaña Inspector Inverso de UUID y pegue cualquier cadena para analizar su versión RFC, variante, estructura de bits y fecha/hora UTC integrada.
Genere Lotes Masivos sin Colisiones
Utilice la pestaña Generador Masivo para generar hasta 50.000 UUIDs seguros en menos de 50 ms, con exportación en un clic a CSV, JSON y texto.
Optimice Índices y Esquemas de Base de Datos
Revise la pestaña Optimizador de Base de Datos para analizar la fragmentación B-Tree y copie esquemas DDL listos para PostgreSQL, MySQL InnoDB y SQLite.
Preguntas Frecuentes (FAQ)
Respuestas autorizadas a preguntas frecuentes sobre la arquitectura UUIDv7 vs UUIDv4, estándares RFC y rendimiento de indexación.
Q:¿Por qué UUIDv7 previene la fragmentación de índices B-Tree frente a UUIDv4?
UUIDv4 reparte las inserciones aleatoriamente por todas las páginas hoja. Al llenarse una página, se produce una costosa división de página (page split) que reduce la ocupación al ~50%. UUIDv7 incorpora una marca de tiempo de 48 bits, logrando anexados secuenciales monótonos en el extremo derecho del índice.
Q:¿Cómo garantiza esta herramienta cero colisiones y seguridad criptográfica?
Toda la generación se ejecuta en el navegador mediante la API nativa Web Crypto (window.crypto). A diferencia de Math.random(), Web Crypto extrae entropía directa del CSPRNG del kernel del sistema operativo.
Q:¿Cómo extrae el Inspector Inverso la fecha de UUIDv7 y UUIDv1?
En UUIDv7, los primeros 48 bits contienen la marca temporal Unix en milisegundos. Nuestro decodificador extrae estos caracteres hex y los convierte en fecha ISO-8601 UTC. En UUIDv1, la hora de 60 bits se reconstruye a partir de los campos time_hi, time_mid y time_low.
Q:¿Está UUIDv7 oficialmente estandarizado por el IETF?
Sí. UUIDv7 fue aprobado y publicado formalmente por el IETF en mayo de 2024 como RFC 9562, reemplazando la especificación previa RFC 4122.
Q:¿Puede UUIDv7 filtrar datos de hardware o infraestructura?
No. A diferencia de UUIDv1 que incluía la dirección MAC física de la tarjeta de red, UUIDv7 contiene únicamente la hora UTC y 74 bits de entropía aleatoria.
Q:¿Qué tipo de dato se recomienda para UUIDv7 en PostgreSQL y MySQL?
En PostgreSQL se recomienda el tipo nativo UUID de 16 bytes. En MySQL InnoDB se recomienda BINARY(16), evitando los 36 bytes de almacenamiento de VARCHAR.
Q:¿Se pueden ordenar registros cronológicamente usando claves primarias UUIDv7?
Sí. Al almacenar los 48 bits iniciales en orden big-endian, cualquier ordenación estándar por columna ordenará automáticamente los registros en orden temporal.
Q:¿Por qué conviene usar prefijos estilo Stripe (ej: usr_, tx_)?
Los prefijos facilitan la lectura en logs del sistema, evitan errores de asignación de parámetros en APIs y conservan intacta la entropía criptográfica del UUID.
¿Qué es Generador de UUID?
Si alguna vez has diseñado una base de datos escalable, sabes que las claves primarias numéricas son un peligro: exponen el volumen de tus ventas y fallan estrepitosamente al sincronizar datos offline. Esta plataforma de ingeniería está diseñada para evitar esos desastres. Te permite generar y analizar identificadores UUIDv4 (completamente aleatorios) y UUIDv7 (ordenados cronológicamente) en tiempo real. Al operar estrictamente en el lado del cliente, garantiza que tus claves maestras y la estructura de tu base de datos nunca se filtren en la red. Es la herramienta definitiva para formatear, inspeccionar y generar datos masivos sin depender de librerías externas.
Escenario Práctico: Sincronización en Apps Offline-First
Una arquitecta de software está desarrollando una aplicación móvil para inspectores de campo que trabajan en zonas sin cobertura de internet. Los inspectores crean cientos de reportes localmente en sus tablets. Si usaran IDs secuenciales, al conectarse a la nube para sincronizar, todos los reportes chocarían con el "ID 1" o "ID 2". La arquitecta utiliza esta herramienta para implementar UUIDv7. Prueba la generación masiva para simular un escenario de alto volumen y se asegura de que no hay colisiones. Cuando los dispositivos finalmente se conectan a internet, los registros se sincronizan sin un solo error y, gracias al timestamp incrustado en el UUIDv7, la base de datos central ordena automáticamente los reportes según la hora exacta en que se crearon en el campo.
Herramientas Clave para Backend
| Módulo del Sistema | Función Técnica | Beneficio Operativo |
|---|---|---|
| UUIDv7 (Monotónico) | Combina una marca de tiempo con entropía segura. | Mejora drásticamente el rendimiento de escritura en bases de datos PostgreSQL y MySQL. |
| Inspector Inverso | Desensambla un UUID para leer sus metadatos internos. | Permite auditar registros antiguos y extraer la fecha de creación original. |
| Formato Estilo Stripe | Añade prefijos de dominio (ej. usr_, doc_). | Hace que los logs del servidor sean legibles para humanos a simple vista. |
| Generación Masiva | Crea lotes masivos de claves primarias instantáneamente. | Acelera la creación de scripts para pruebas de estrés y migraciones. |
Historia y Origen
La necesidad de identificadores universalmente únicos nació en la década de 1980, cuando las redes informáticas empezaron a descentralizarse. Originalmente, los ingenieros usaban la dirección MAC de la tarjeta de red para asegurar que dos ordenadores nunca generaran el mismo código (UUIDv1). Sin embargo, esto planteó serios problemas de privacidad. La industria evolucionó hacia el UUIDv4, que depende de la pura aleatoriedad criptográfica, eliminando cualquier rastro de la máquina que lo creó. Hoy en día, la versión 7 representa el equilibrio perfecto: recupera la capacidad de ordenamiento cronológico, pero utiliza cifrado moderno para proteger la identidad del usuario.