Generator UUID Versi 5 (Berbasis Nama SHA-1)

Hasilkan UUID konsisten menggunakan namespace dan nama dengan hashing SHA-1

Pengaturan NamespaceSHA-1

UUID versi v3 dan v5 memerlukan namespace dan nama untuk menghasilkan UUID deterministik.

Harus berupa UUID yang valid. Gunakan dropdown untuk memilih namespace yang telah ditentukan.
String teks apa pun yang akan di-hash untuk membuat UUID.

Coba contoh ini:

¿Qué es UUID v5?

Versión 5 de UUID es un identificador de 128 bits basado en 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
  • Name: Valor de cadena definido por el usuario dentro del espacio de nombres
  • Hash SHA-1: Algoritmo criptográfico usado para generar el resultado

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

Cómo funciona UUID v5

  1. Seleccione un UUID de espacio de nombres (predefinido o personalizado)
  2. Concatene el UUID del espacio de nombres y la cadena de nombre
  3. Calcule el hash SHA-1 del valor concatenado
  4. Establezca 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

AdvantagesConsiderations
  • Determinista (misma entrada = mismo UUID)
  • Organización con espacio de nombres
  • Sin dependencia de red o tiempo
  • Sin preocupaciones de privacidad (sin dirección MAC)
  • No ordenado por tiempo
  • La misma entrada 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

BitsContent
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

VersionBasado enCaso de usoPrivacy
UUID v1Tiempo + MACIDs ordenados por tiempo⚠️ Revela MAC
UUID v3Espacio de nombres + MD5IDs deterministas✅ Privado
UUID v4RandomIDs aleatorios seguros✅ Privado
UUID v5Espacio de nombres + SHA-1IDs deterministas✅ Privado
UUID v6Tiempo (reordenado)IDs ordenables⚠️ Revela MAC
UUID v7Tiempo + aleatorioIDs ordenables✅ Privado

Espacios de nombres predefinidos

NamespaceUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Para nombres de dominio
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8Para URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8Para OID 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 a través de sistemas
  • Mapeo de URL: Conversión de URLs a identificadores estables
  • Gestión de configuración: Seguimiento de elementos de configuración nombrados
  • Eliminación de duplicados de datos: Identificación de registros idénticos
  • Federation: Identificadores consistentes entre sistemas

Preguntas frecuentes

¿Es UUID v5 mejor que UUID v3?

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

¿Pueden colisionar los valores 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 nombre elimina virtualmente el riesgo de colisión.

¿SHA-1 es 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 para propósitos de seguridad sino para 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), puede crear espacios de nombres personalizados usando cualquier UUID válido, típicamente un UUID aleatorio v4.

¿El mismo nombre siempre genera 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.

Resources