Blog do ClockTools

Ferramentas para desenvolvedores

GUID vs UUID: Qual é a diferença?

GUID e UUID geralmente nomeiam o mesmo identificador de 128 bits, mas a versão, o formato, a ordem e os contratos do sistema ainda são importantes.

Por , desenvolvedor e editor | | Revisado sob o ClockTools política editorial

Imagem em destaque de comparação GUID vs UUID para ClockTools
Índice

GUID e UUID geralmente descrevem o mesmo tipo de identificador: um valor de 128 bits projetado para ser único sem solicitar a um contador central o próximo número. As palavras vêm de diferentes tradições de nomenclatura. UUID é o termo padrão, enquanto GUID é especialmente comum em software Microsoft e ferramentas de desenvolvedor.

Essa resposta curta é útil, mas não resolve todas as questões práticas. Dois identificadores podem compartilhar o familiar 8-4-4-4-12 forma de texto e ainda usa diferentes versões de UUID, regras de geração, comportamento de ordenação ou convenções de serialização binária. Quando uma coluna de banco de dados, API ou aplicativo diz GUID, a abordagem mais segura é confirmar o formato e a versão aceitos, em vez de confiar apenas no rótulo.

Use o ClockTools GUID Gerador quando você precisar de valores UUID v4 ou UUID v7 gerados pelo navegador, saída em massa, validação ou formatação pronta para exportação. As etapas de geração e validação são executadas localmente no navegador.

GUID vs UUID: Eles são iguais?

Na maior parte do trabalho diário de desenvolvimento, GUID e UUID são nomes intercambiáveis para um identificador de 128 bits. O atual padrão IETF, RFC9562, observa explicitamente que UUIDs também são conhecidos como identificadores globalmente exclusivos. Um valor como 550e8400-e29b-41d4-a716-446655440000 pode, portanto, ser chamado de UUID ou GUID sem alterar seus caracteres.

A distinção importante é entre um nome e um esquema de geração. Chamar um valor de GUID não informa se é a versão 4, versão 7, uma versão mais antiga baseada em tempo ou uma construção específica da plataforma. Chamá-lo de UUID não garante que um aplicativo aceite todas as versões padronizadas. O rótulo identifica o tipo de dados amplo; a versão e o contrato circundante identificam como o valor se comporta.

PerguntaGUIDUUID
Contexto típicoAPIs da Microsoft, .NET, Windows, SQL ServerPadrões da Internet, bancos de dados, sistemas distribuídos, APIs
Tamanho normal128 bits128 bits
Formulário de texto familiar8-4-4-4-12 grupos hexadecimais8-4-4-4-12 grupos hexadecimais
O nome especifica uma versão?NãoNão
Os termos podem referir-se ao mesmo valor?SimSim

É por isso que uma comparação GUID vs UUID deve focar menos em qual palavra está "correta" e mais nos requisitos do sistema por trás da palavra.

Por que existem dois nomes?

UUID significa identificador universalmente exclusivo. É a terminologia usada pelos padrões IETF que definem o layout, variantes, versões, representação de texto e considerações de geração. GUID significa identificador globalmente exclusivo e tornou-se profundamente estabelecido nas plataformas Microsoft. O Tipo .NET `System.Guid` é um exemplo familiar.

Ambos os nomes sobreviveram porque os ecossistemas de software mantêm seu vocabulário para compatibilidade. Uma API da Microsoft pode expor um Guia, um esquema PostgreSQL pode usar um uuid coluna, e uma API JSON pode chamar o campo identificação. Todos os três podem carregar o mesmo valor de texto canônico.

Não há necessidade de renomear cada campo GUID para UUID apenas por questão de terminologia. É necessário documentar a versão aceita, se o revestimento é importante, se os colchetes são aceitos e como o valor é serializado quando ultrapassa os limites do sistema.

Qual é a aparência de um UUID?

O formato legível comum contém 32 dígitos hexadecimais separados em cinco grupos:

```texto

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

```

Os comprimentos do grupo são 8, 4, 4, 4 e 12. Incluindo quatro hifens, a string canônica tem 36 caracteres. M indica o nibble da versão nos layouts cobertos pelo padrão, enquanto os bits representados por N identificar a variante. Por exemplo, o 4 em 550e8400-e29b-41d4-a716-446655440000 identifica UUID versão 4.

Diagrama ClockTools mostrando o layout de texto 128 bits UUID, campo de versão e campo de variante
Diagrama ClockTools mostrando o layout de texto 128 bits UUID, campo de versão e campo de variante

A caixa hexadecimal não altera o valor numérico. A716 e a716 representam os mesmos bits. Hífens, colchetes, um urna:uuid: prefixo ou um formato compacto podem alterar a string aceita por um analisador, mas não alteram necessariamente o identificador subjacente. Essa é uma das razões pelas quais ClockTools separa a geração da formatação.

Qual a diferença entre UUID v4 e UUID v7?

UUID v4 é a versão aleatória amplamente usada. A maioria dos bits disponíveis são preenchidos a partir de uma fonte aleatória ou pseudoaleatória, com os bits necessários definidos para a versão e variante. Funciona bem quando os identificadores não devem revelar a ordem de criação e quando a geração ocorre de forma independente em muitos clientes ou serviços.

UUID v7 é ordenado por tempo. Seus primeiros bits 48 carregam um carimbo de data/hora da época Unix em milissegundos, seguido pela versão, variante e dados aleatórios. Os valores gerados posteriormente geralmente são classificados de acordo com os valores gerados anteriormente. Isso pode ser mais amigável para índices e logs ordenados porque é menos provável que novos registros cheguem a posições não relacionadas no espaço-chave.

O tempo ordenado não significa perfeitamente sequencial. Vários valores UUID v7 criados no mesmo milissegundo ainda precisam de dados adicionais para permanecerem distintos, e o comportamento do relógio é importante. Também não significa segredo: um valor v7 expõe o tempo aproximado de criação por design. RFC 9562 contém os layouts normativos e orientações de geração para ambas as versões.

Qual versão você deve escolher?

Escolha a versão que corresponde ao sistema receptor e ao comportamento que você precisa.

RequisitoGeralmente prefiroPor que
Ampla compatibilidade com sistemas existentes com reconhecimento de UUIDUUID v4É maduro, familiar e comumente aceito
Nenhuma informação de tempo de criação no identificadorUUID v4O valor é aleatório e não ordenado no tempo
Chaves que seguem aproximadamente o tempo de criaçãoUUID v7O prefixo timestamp suporta classificação cronológica
A API existente requer explicitamente uma versãoVersão necessáriaA compatibilidade supera a preferência
Código curto visível para humanosNem por padrãoUUIDs são identificadores, não códigos de confirmação amigáveis
Token de autenticação ou segredo de redefinição de senhaUm design de token seguro dedicadoExclusividade e sigilo são propriedades diferentes

Não mude de versão apenas porque uma parece mais recente. Verifique primeiro o driver do banco de dados, a biblioteca de validação, o esquema da API e os consumidores downstream. Um validador escrito anos atrás pode rejeitar um valor v7 válido porque reconhece apenas versões mais antigas.

O mesmo UUID pode parecer diferente?

Sim. Os mesmos bits 128 subjacentes podem ser apresentados em letras minúsculas padrão, maiúsculas, colchetes, texto entre aspas, hexadecimal compacto ou formato URN. ClockTools também pode empacotar valores gerados como linhas, CSV, JSON ou saída compatível com SQL. Estas são opções de representação, não novos identificadores.

A troca binária merece mais cuidado. Algumas APIs de plataforma expõem historicamente campos GUID ou matrizes de bytes em uma ordem que difere da ordem de bytes da rede descrita pelas especificações UUID modernas. Uma viagem de ida e volta de string pode parecer correta, enquanto uma viagem de ida e volta bruta de 16 bytes não. Quando os sistemas trocam UUIDs binários, documente a ordem dos bytes e teste em relação a um valor conhecido em vez de assumir que cada biblioteca serializa de forma idêntica.

Para strings de consulta de URL ou segmentos de caminho, use o formato canônico quando possível. Se um valor circundante precisar escapar, o ClockTools Codificador de URL pode codificar o parâmetro completo sem alterar o próprio identificador.

Como você deve armazenar GUIDs e UUIDs?

Prefira o UUID nativo de um banco de dados ou o tipo de identificador exclusivo quando estiver disponível e for compatível com suas ferramentas. Um tipo nativo valida a forma e normalmente armazena o valor de 128 bits de forma mais compacta do que uma coluna de texto de 36 caracteres. Também pode tornar a intenção mais clara para os leitores do esquema.

O armazenamento de texto permanece razoável quando um sistema não possui um tipo nativo ou quando a compatibilidade requer uma string. Nesse caso, normalize uma representação, defina o comprimento permitido e evite misturar colchetes, URNs, letras maiúsculas e valores compactos na mesma coluna. A formatação consistente simplifica verificações de igualdade, exportações e trabalho de suporte.

O comportamento do índice depende do banco de dados, da carga de trabalho, do padrão de inserção e do design do índice. UUID v7 pode melhorar a localidade para algumas cargas de trabalho de chave primária com muitos acréscimos, mas não é uma garantia universal de desempenho. Meça com seu próprio banco de dados e dados realistas. Mantenha o significado do negócio em colunas separadas; um identificador não deve substituir um carimbo de data/hora de criação, número de cliente ou regra de controle de acesso.

Como ClockTools pode gerá-los e validá-los?

O gerador on-line de GUID e UUID oferece um fluxo de trabalho focado:

1. Selecione UUID v4 para identificadores aleatórios ou UUID v7 para identificadores ordenados por tempo.

2. Escolha uma quantidade de 1 a 1,000.

3. Selecione a formatação padrão, maiúscula, colchetes, aspas, compacta ou URN.

4. Escolha codificação simples, Base64, Base64URL ou URL quando o destino exigir.

5. Exporte como linhas, CSV, JSON ou SQL, ou copie os resultados diretamente.

6. Cole um valor existente no validador para inspecionar sua forma normalizada, versão, variante e valores especiais reconhecidos.

A geração usa a fonte aleatória criptográfica do navegador. UUID v4 define a versão necessária e os bits variantes. UUID v7 combina o valor atual de milissegundos da época Unix com dados aleatórios e os bits de layout necessários. A página não precisa fazer upload dos identificadores gerados para essas operações.

Ao comparar duas listas exportadas, use o Verificador de comparação de texto para detectar uma entrada ausente, repetida ou reformatada sem digitalizar cada linha manualmente.

Que erros você deve evitar?

O primeiro erro é tratar “único” como “impossível de colidir”. Os designs UUID tornam a colisão acidental extraordinariamente improvável quando gerados corretamente, mas o software ainda deve usar uma restrição de exclusividade onde duplicatas seriam prejudiciais. Uma fonte aleatória quebrada, um acessório copiado, um erro de importação ou um bug de aplicativo podem criar uma duplicata mesmo quando a matemática é correta.

O segundo erro é usar UUID como prova de autorização. Um identificador difícil de adivinhar pode reduzir a descoberta casual, mas por si só não concede permissão com segurança. Verifique o acesso do usuário autenticado em cada solicitação protegida.

O terceiro erro é mudar silenciosamente a representação. A remoção de hífens, a decodificação de Base64 ou a conversão para bytes devem ser reversíveis e testadas. Mantenha um valor canônico nos logs para que os operadores possam rastreá-lo nos serviços. Se um analisador rejeitar um identificador, valide a versão e o formato antes de gerar uma substituição; substituir um ID pode quebrar referências que já apontam para ele.

Perguntas frequentes

GUID e UUID são a mesma coisa?

Normalmente, sim. Ambos os termos geralmente se referem a um identificador de 128 bits com o mesmo formato de texto padrão. UUID é o termo dos padrões IETF, enquanto GUID é especialmente comum em ecossistemas Microsoft.

Um GUID é sempre uma versão UUID 4?

Não. A palavra GUID não identifica uma versão de UUID. Um valor em forma de GUID pode usar a versão 4, versão 7, outra versão padronizada ou um método de geração específico da plataforma.

Devo usar UUID v4 ou UUID v7?

Use a v4 quando desejar um identificador aleatório amplamente compatível sem tempo de criação incorporado. Considere a versão 7 quando a classificação cronológica e a localidade do índice forem importantes, desde que todos os sistemas receptores a suportem.

Quantos caracteres existem em um GUID ou UUID padrão?

O formato de texto canônico possui 32 dígitos hexadecimais e quatro hifens, totalizando 36 caracteres. Chaves, prefixos URN, formatação compacta ou aspas podem alterar o comprimento exibido.

Posso usar um UUID como token secreto?

Não presuma que a exclusividade proporciona sigilo. Os tokens de autenticação e redefinição precisam de um design projetado especificamente para credenciais seguras e imprevisíveis, juntamente com verificações de expiração e autorização.

O upload de ClockTools gerou UUIDs?

O Gerador GUID realiza geração, formatação e validação localmente no navegador. Ele usa a fonte aleatória criptográfica do navegador para as partes aleatórias dos UUIDs suportados.

Sobre o autor

Vigneshwaran Vijayakumar

Fundador, desenvolvedor e editor de ClockTools | Gerente de Marketing Digital | Índia

Vigneshwaran é um engenheiro com décadas de experiência técnica, incluindo trabalho profissional como Gerente de Marketing Digital em Dubai. Seu trabalho conecta análise de dados, otimização de mecanismos de pesquisa, otimização de taxa de conversão, sistemas de conteúdo, produção visual e IA aplicada e aprendizado de máquina. Em ClockTools, ele transforma essa experiência multidisciplinar em utilitários de navegador focados e guias práticos com reconhecimento de fonte.

Perfil do LinkedIn