Gere UUID v3 baseado em nome e namespace, usando algoritmo de hash MD5.
Nota: O mesmo namespace e nome sempre gerarão o mesmo UUID
Introdução ao UUID v3
UUID v3 é um identificador único baseado em nome e namespace, usando algoritmo de hash MD5. Ele pode gerar o mesmo UUID para a mesma combinação de nome e namespace.
Namespace e nome
UUID v3 requer duas entradas: um UUID de namespace e uma string de nome. Namespaces predefinidos comuns incluem DNS, URL, OID e X.500 DN, também podendo usar namespace personalizado.
v3 vs v5
UUID v3 e v5 são UUIDs baseados em nomes, com a principal diferença sendo o algoritmo de hash utilizado. v3 usa MD5, enquanto v5 usa SHA-1. v5 oferece melhor segurança, mas v3 pode ser mais eficiente em certos ambientes.
Cenários de aplicação
UUID v3 é adequado para cenários que requerem determinismo e repetibilidade, como gerar IDs permanentes a partir de nomes de usuário, atribuir identificadores fixos a recursos, etc. Qualquer situação que exija que a mesma entrada sempre produza o mesmo UUID é adequada para v3.
Considerações de segurança
Embora UUID v3 use hash MD5, é geralmente seguro quando usado como identificador. No entanto, se a segurança for uma consideração importante, recomenda-se usar UUID v5 baseado em SHA-1, pois MD5 foi comprovado criptograficamente inseguro.
Namespaces predefinidos
A especificação UUID define quatro namespaces padrão: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) e X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8).