Generador de UUID v5 - Crear UUID basados en nombre con SHA-1

Genere UUIDs versión 5 basados en namespace en línea. Cree UUIDs consistentes usando hash SHA-1 para combinaciones de namespace y nombre.

Configuración del espacio de nombresSHA-1

Las UUID de la versión v3 y v5 requieren un espacio de nombres y un nombre para generar UUID determinísticos.

Debe ser un UUID válido. Use el menú desplegable para seleccionar un espacio de nombres predefinido.
Cualquier cadena de texto que será convertida en hash para crear el UUID.

Pruebe estos ejemplos:

¿Qué es UUID v5?

UUID versión 5 es un identificador de 128 bits basado en un espacio de nombres (cadena de 36 caracteres) definido en RFC 4122. Combina:

  • UUID de espacio de nombres: UUID predefinido o personalizado para delimitar la generación
  • Nombre: Valor de cadena definido por el usuario dentro del espacio de nombres
  • Hash SHA-1: Algoritmo criptográfico utilizado para generar el resultado

Ejemplo de formato: 2ed6657d-e927-5eb1-9a03-0242ac130003

Cómo funciona UUID v5

  1. Seleccionar un UUID de espacio de nombres (predefinido o personalizado)
  2. Concatenar el UUID del espacio de nombres y la cadena de nombre
  3. Calcular el hash SHA-1 del valor concatenado
  4. Establecer los bits de versión (0101) y los bits de variante (10)
  5. Ensamblar como 32 dígitos hexadecimales con guiones: formato 8-4-4-4-12

Ventajas y Consideraciones

VentajasConsideraciones
  • Determinista (mismo input = mismo UUID)
  • Organización basada en espacios de nombres
  • Sin dependencia de red o tiempo
  • Sin preocupaciones de privacidad (sin dirección MAC)
  • No está ordenado por tiempo
  • El mismo input siempre crea el mismo UUID
  • La selección del espacio de nombres impacta la unicidad
  • SHA-1 tiene debilidades criptográficas conocidas

Estructura de UUID v5

BitsContenido
0-47Primeros 48 bits del hash SHA-1
48-51Versión (0101 para v5)
52-63Siguientes 12 bits del hash SHA-1
64-65Variante (10 para RFC4122)
66-12762 bits restantes del hash SHA-1

UUID v5 vs. otras versiones

VersiónBasado enUsoPrivacidad
UUID v1Tiempo + MACIDs ordenados por tiempo⚠️ Revela MAC
UUID v3Espacio de nombres + MD5IDs deterministas✅ Privado
UUID v4AleatorioIDs aleatorios seguros✅ Privado
UUID v5Espacio de nombres + SHA-1IDs deterministas✅ Privado
UUID v6Tiempo (reordenado)IDs ordenados⚠️ Revela MAC
UUID v7Tiempo + aleatorioIDs ordenados✅ Privado

Espacios de nombres predefinidos

Espacio de nombresUUIDPropósito
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Para nombres de dominio
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8Para URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8Para OIDs ISO
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8Para Nombres Distinguidos X.500

Casos de uso comunes

  • Dirección de contenido: IDs consistentes para contenido idéntico
  • Sistemas distribuidos: Recursos nombrados entre sistemas
  • Mapeo de URLs: Convertir URLs en identificadores estables
  • Gestión de configuración: Seguimiento de elementos de configuración nombrados
  • Deduplicación de datos: Identificación de registros idénticos
  • Federación: Identificadores consistentes entre sistemas

Preguntas frecuentes

¿Es UUID v5 mejor que UUID v3?

Sí, para la mayoría de los casos. UUID v5 utiliza SHA-1, que es criptográficamente más fuerte que el algoritmo MD5 utilizado en UUID v3. Sin embargo, ambos proporcionan generación determinista.

¿Pueden colisionar los valores de UUID v5?

Las colisiones son teóricamente posibles pero extremadamente improbables en la práctica debido a las propiedades de SHA-1. Usar diferentes espacios de nombres o cadenas de nombres prácticamente elimina el riesgo de colisión.

¿Es SHA-1 lo suficientemente seguro para UUID v5?

Para propósitos de UUID, SHA-1 sigue siendo adecuado a pesar de sus debilidades criptográficas. UUID v5 no está destinado a fines de seguridad, sino a generar identificadores consistentes.

¿Puedo crear mi propio espacio de nombres para UUID v5?

Sí. Aunque RFC 4122 define espacios de nombres estándar (DNS, URL, OID, X.500), puedes crear espacios de nombres personalizados utilizando cualquier UUID válido, típicamente un UUID v4 aleatorio.

¿El mismo nombre siempre generará el mismo UUID v5?

Sí, pero solo dentro del mismo espacio de nombres. El mismo nombre en diferentes espacios de nombres generará UUIDs diferentes, lo cual es una característica clave para organizar identificadores.

Recursos