Gerador de UUID (v1, v4, v7)
Gera UUID conforme a RFC 4122 na versão 1, 4 ou 7, um a um ou em lote, copia ou transfere.
A carregar Gerador de UUID (v1, v4, v7)… Se nada acontecer, ativa o JavaScript.
Um UUID (Universally Unique Identifier, ou identificador universalmente único), conhecido também por GUID nos ecossistemas da Microsoft, é um valor padronizado de 128 bits usado para rotular entidades, linhas de bases de dados, ficheiros, nós de rede ou transações, sem que nenhuma autoridade central tenha de emitir os identificadores. A norma está definida no RFC 4122 e organiza-se em versões, cada uma com uma estratégia de geração diferente. A versão 1 codifica uma marca temporal e o endereço MAC da máquina anfitriã; a versão 4 usa 122 bits de aleatoriedade criptográfica; e a mais recente versão 7 combina uma marca temporal Unix com precisão de milissegundos com bits aleatórios, o que a torna ao mesmo tempo única e ordenável lexicograficamente.
Exemplos
Version 4 (random)
f47ac10b-58cc-4372-a567-0e02b2c3d479
122 bits aleatórios. O décimo terceiro dígito hexadecimal é sempre 4 (a versão).
Format
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
y é um de 8, 9, a ou b; os dois bits mais significativos codificam a variante.
Perguntas frequentes
Os UUID gerados são enviados para um servidor?
Qual é a diferença técnica entre UUID v1, v4 e v7?
Qual é a probabilidade de uma colisão de UUID v4?
Porque devo usar v7 em vez de v4 para chaves primárias de bases de dados?
Posso usar este UUID como segredo criptográfico ou token?
O que significa GUID e é o mesmo que UUID?
Posso gerar UUID sem ligação à internet?
Qual é um erro frequente ao usar UUID v1?
Que formato segue um UUID?
Posso gerar UUID em lote e transferi-los como ficheiro?
Sobre Gerador de UUID (v1, v4, v7)
Os sistemas distribuídos são o principal caso de uso dos UUID. Quando tens vários servidores, microsserviços ou clientes móveis capazes de funcionar sem ligação a criar registos em simultâneo, coordenar um único contador inteiro com incremento automático torna-se um estrangulamento ou uma fonte de conflitos. Os UUID contornam isto por completo: qualquer nó pode gerar de forma independente um identificador único a nível global, e os registos podem ser fundidos mais tarde sem colisões. Aparecem por todo o lado, desde chaves primárias de bases de dados e tokens de idempotência em API de pagamento, até identificadores de sessão, nomes de ficheiro endereçáveis por conteúdo e identificadores de rasto em pipelines de observabilidade.
Esta ferramenta gera UUID inteiramente no teu navegador usando a Web Crypto API. Para v4, chama `crypto.randomUUID()` quando disponível (Chrome 92+, Firefox 95+), recorrendo a `crypto.getRandomValues` com formatação manual nos restantes casos. Para v7, lê `Date.now()` para o prefixo de marca temporal de 48 bits e preenche os bits restantes com aleatoriedade criptográfica. Nenhum identificador é transmitido a qualquer servidor, e nada é registado. Podes gerar um único UUID ou um lote em massa para importar para um fixture de testes ou um script de migração.
Um equívoco frequente é pensar que os UUID são hashes opacos. Não são: os UUID v1 incorporam o teu endereço MAC e uma marca temporal, o que pode revelar a identidade do dispositivo. Em contextos sensíveis à privacidade, prefere sempre v4 ou v7. Outra armadilha é usar UUID como chaves de base de dados sequenciais com índices B-tree: os UUID v4 são aleatórios, o que provoca fragmentação do índice. Foi por isto que a v7 foi introduzida: o seu prefixo de marca temporal mantém as inserções mais ou menos por ordem, melhorando drasticamente o desempenho de escrita do índice em tabelas grandes.
O problema da identidade distribuída: como os UUID nasceram do caos das redes
O antecessor conceptual do UUID é o identificador único global concebido para o Network Computing System da Apollo Computer no final dos anos 80, que precisava de uma forma de identificar interfaces RPC sem um registo central. A Open Software Foundation adaptou-o para a especificação de UUID do DCE (Distributed Computing Environment) no início dos anos 90, incorporando endereços MAC e marcas temporais para que qualquer máquina em qualquer rede pudesse cunhar um identificador com garantia de ser único no espaço e no tempo.
A Microsoft adotou o esquema para COM e DCOM em meados dos anos 90 com o nome de GUID, e tornou-se omnipresente nas plataformas Windows. A norma moderna RFC 4122, publicada em 2005, formalizou o formato e definiu as versões 1 a 5. A versão 4, a variante puramente aleatória que domina hoje, surgiu em parte por preocupações de privacidade, depois de os investigadores demonstrarem que os UUID v1 podiam ser usados para identificar e seguir a máquina que os gerava.
A versão 7 foi proposta num rascunho do IETF em 2021 e finalizada no RFC 9562 em 2024, respondendo diretamente aos problemas de desempenho de bases de dados causados pelos UUID aleatórios como chaves primárias. A especificação foi impulsionada por engenheiros de grandes fornecedores de nuvem que tinham medido os custos reais da fragmentação de índices dos UUID v4 com milhares de milhões de linhas. O RFC 9562 também tornou obsoletas as versões v1 e v2 para novas aplicações, consolidando a v4 para os contextos sensíveis à privacidade e a v7 para o armazenamento ordenado por tempo.