UUID v4 vs v5
Ambos son identificadores únicos de 128 bits, pero se generan distinto: el v4 es aleatorio (casi imposible que colisione) y el v5 es determinístico (deriva del hash de un namespace + un nombre, así que el mismo input siempre da el mismo UUID). Uno prioriza imprevisibilidad; el otro, reproducibilidad.
| Aspecto | UUID v4 | UUID v5 |
|---|---|---|
| Cómo se genera | Aleatorio (CSPRNG) | Hash de namespace+nombre |
| Mismo input, mismo ID | No | Sí |
| Predecible | No | Sí (si sabés el input) |
| Caso típico | Claves primarias, tokens | Dedup, idempotencia |
Cuándo usar UUID v4
Usá v4 para IDs de registros, claves primarias, tokens de sesión: querés que sean impredecibles y no revelen nada del contenido.
Cuándo usar UUID v5
Usá v5 cuando necesitás el mismo ID a partir del mismo dato sin guardar un mapa (deduplicar, generar el ID de un recurso a partir de su URL, idempotencia).
En resumen: v4 para unicidad imprevisible (lo más común); v5 cuando el ID tiene que ser estable y derivable de una entrada conocida.