O que é um UUID?

Um Identificador Único Universal (UUID) é um rótulo numérico de 128 bits padronizado pela Open Software Foundation (OSF) e formalizado pelas normas IETF RFC 4122 e RFC 9562. Com 3,4 × 10³⁸ combinações únicas, sistemas distribuídos, microsserviços e aplicativos móveis podem gerar IDs de forma autônoma sem um banco de dados central.

Versões de UUID e Opções de Formatação

Os UUIDs padrão são formatados como 32 caracteres hexadecimais separados por quatro hífens (padrão 8-4-4-4-12, 36 caracteres no total). O UUID v4 fornece 122 bits de entropia puramente pseudoaleatória. O UUID v7 introduz um timestamp Unix de 48 bits em milissegundos para ordenação cronológica. Nosso gerador também suporta formatos sem hífens (32 caracteres hex), maiúsculas, formato de registro {GUID} e arrays JSON.

UUID vs GUID: Padrões e Interoperabilidade

Um Identificador Globalmente Único (GUID) é a implementação histórica da Microsoft para o padrão UUID. No ecossistema moderno em .NET, C#, Python, Java, Go, Rust e PostgreSQL, GUID e UUID referem-se à mesma estrutura binária de 128 bits. Ambos estão em conformidade com as especificações RFC 4122 / RFC 9562 e podem ser convertidos sem perda de dados.

Casos de Uso em Software e Banco de Dados

Os UUIDs são essenciais em toda a engenharia de software: chaves primárias em bancos de dados (PostgreSQL UUID, MySQL BINARY(16), SQLite), mensageria distribuída (Kafka, RabbitMQ), identificadores de recursos em APIs REST e GraphQL, tokens de idempotência em pagamentos (Stripe) e sincronização offline de aplicativos móveis.

Geração Segura no Cliente e Privacidade

O FastUUIDGenerator cria todos os identificadores 100% localmente em seu navegador usando a Web Cryptography API nativa (crypto.getRandomValues). A entropia do sistema operacional (/dev/urandom, BCryptGenRandom) garante imprevisibilidade criptográfica total. Nenhum identificador é transmitido pela rede.

Validação, Decodificação e Geração em Lote

Além da geração individual, nosso kit de ferramentas inclui um Validador de UUID para verificar sintaxe e variante RFC, um Decodificador UUID v7/v1 para extrair timestamps UTC e sequências de clock, um gerador de GUID Microsoft e um Gerador em Lote capaz de produzir até 10.000 UUIDs com downloads instantâneos em CSV, JSON e TXT.

Perguntas Frequentes (FAQ)

Qual é o formato do UUID?

Um UUID canônico padrão (RFC 4122/9562) consiste em 32 dígitos hexadecimais separados por 4 hífens no formato 8-4-4-4-12 (ex: 550e8400-e29b-41d4-a716-446655440000), totalizando 36 caracteres. Em formato binário bruto, ocupa 16 bytes (128 bits).

O que é um gerador de UUID?

Um gerador de UUID é uma ferramenta ou biblioteca que cria Identificadores Únicos Universais de 128 bits usando geradores criptográficos de números pseudoaleatórios (CSPRNG, para UUID v4) ou sequências baseadas em tempo (para UUID v7).

Onde posso encontrar meu UUID?

No Windows, localize o UUID do hardware executando "wmic csproduct get uuid" no Prompt de Comando ou "Get-CimInstance Win32_ComputerSystemProduct" no PowerShell. No Linux, verifique "/sys/class/dmi/id/product_uuid". No macOS, use "system_profiler SPHardwareDataType". No desenvolvimento de software, UUIDs são atribuídos a registros de banco de dados, usuários e recursos de API.

Como posso criar um UUID?

Você pode criar um UUID instantaneamente online com o FastUUIDGenerator ou diretamente em código: no JavaScript com crypto.randomUUID(), no Python usando uuid.uuid4(), no Java via UUID.randomUUID(), no C# com Guid.NewGuid() ou no PostgreSQL com gen_random_uuid().

Como identificar um UUID?

Um UUID canônico contém 32 caracteres hexadecimais (0-9, a-f) e 4 hífens no padrão xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. O 13º dígito (M) indica a versão do UUID (ex: 4 para aleatório, 7 para ordenado por tempo) e o 17º (N) indica a variante RFC (8, 9, a ou b).

Um UUID pode ser duplicado?

Na prática, não. Com 128 bits oferecendo 3,4 × 10³⁸ combinações, gerar 1 bilhão de UUID v4 a cada segundo durante 73 anos oferece apenas 50% de chance de uma única colisão. Em sistemas distribuídos, a duplicação acidental é estatisticamente impossível.

Qual a diferença entre UUID e ID?

Um ID tradicional é geralmente um número inteiro sequencial autoincrementado (1, 2, 3...) emitido por um banco central. Um UUID é um identificador global de 128 bits que pode ser gerado de forma autônoma por servidores distribuídos e clientes offline sem risco de colisão.

O que significa UUID?

UUID significa Universally Unique Identifier (Identificador Universalmente Exclusivo). É um valor padrão de 128 bits definido pelo IETF RFC 4122 e RFC 9562 para garantir identificação única em sistemas independentes sem necessidade de coordenação central.

Por que precisamos de UUID?

Os UUIDs eliminam gargalos em sistemas distribuídos e microsserviços onde múltiplos nós precisam gerar chaves simultaneamente. Eles evitam colisões em fusões de bancos de dados, mitigam ataques de enumeração sequencial e facilitam o suporte offline em aplicativos.

O uso de UUID é seguro?

Sim. Os UUIDs v4 e v7 gerados com CSPRNG são imunes a adivinhações e colisões. O UUID v1 tradicional expõe o endereço MAC do hardware, por isso versões modernas preferem v4 ou v7. UUIDs não devem ser utilizados como senhas secretas de autenticação em URLs públicas.

Como utilizo um UUID?

Utilize UUIDs como chaves primárias em bancos de dados (PostgreSQL UUID, MySQL BINARY(16)), identificadores de recursos em APIs REST/GraphQL (ex: /api/pedidos/550e8400-e29b-41d4-a716-446655440000), tokens de sessão e identificadores de eventos em mensagerias como Kafka.

Posso decodificar um UUID?

Sim. Você pode colar qualquer UUID em nossa ferramenta gratuita Decodificador de UUID para inspecionar versão, variante RFC, valores binários e carimbo de data/hora exato (caso seja v1, v6 ou v7).

É seguro gerar UUIDs online?

Sim, no FastUUIDGenerator é 100% seguro. Toda a geração ocorre localmente no seu navegador através da Web Cryptography API nativa (crypto.getRandomValues). Nenhum dado gerado ou parâmetro é transmitido pela internet.

Como converter um UUID em um número inteiro?

Um UUID de 128 bits se converte em inteiro sem sinal removendo os hífens e analisando a string hexadecimal em base 16. Em JavaScript use BigInt("0x" + uuid.replace(/-/g, "")). Em Python use int(uuid.UUID(str_uuid)). O valor varia de 0 a 2¹²⁸-1 (até 3,4 × 10³⁸).