Uma visão técnica abrangente sobre identificadores de 128 bits, padrões RFC, formatos, indexação em banco de dados e criptografia no cliente.
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)
Clear, concise answers to the most common questions about UUID generation, formats, and standards.
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).
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).
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.
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().
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).
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.
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.
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.
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.
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.
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.
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).
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.
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³⁸).