Pular para o conteúdo

Gerador de UUID Versão 4

UUIDv4 • Criptograficamente Aleatório
00000000-0000-0000-0000-000000000000
Envolver:

Gerar UUIDs em Lote

Máx 5.000
Formatação e Estrutura

Pronto

No batch active
Padrão da IndústriaRFC 9562 Seção 5.4 / RFC 4122

Especificação Técnica do UUID Versão 4 (RFC 4122 & RFC 9562)

O UUIDv4 é o formato mais utilizado no mundo. Dos 128 bits totais, 122 bits são gerados a partir de entropia criptograficamente segura, com 6 bits reservados para versão (0100) e variante (10xx).

Layout de Bits e Estrutura Binária

Distribuição detalhada de 128 bits de acordo com os padrões RFC.

Nome do CampoIntervalo de BitsFinalidade e Descrição
random_hi48 bits (0-47)Entropia pseudoaleatória criptograficamente segura.
ver4 bits (48-51)Valor binário constante 0100 (identifica a Versão 4).
random_mid12 bits (52-63)Entropia pseudoaleatória criptograficamente segura.
var2 bits (64-65)Valor binário constante 10 (variante padrão RFC).
random_lo62 bits (66-127)Entropia pseudoaleatória criptograficamente segura.

Vantagens e Pontos Fortes

  • Privacidade absoluta: não vaza timestamps, endereços MAC nem detalhes de hardware.
  • Suporte universal em todas as linguagens de programação e bancos de dados.
  • Totalmente imprevisível e protegido contra ataques de enumeração IDOR.
!

Considerações e Desvantagens

  • Desempenho insatisfatório em índices B-Tree devido a gravações aleatórias.
  • Não ordenável cronologicamente sem coluna created_at auxiliar.

Recomendado para

  • Tokens de API, identificadores de sessão, links de redefinição de senha e códigos OAuth.
  • Identificadores opacos voltados para o usuário.
  • Caches distribuídos (Redis, Memcached) e chaves não indexadas.

Quando evitar

  • Chaves primárias com alto volume de inserção em índices B-Tree (prefira UUIDv7).
  • Tabelas que exigem classificação lexicográfica natural.

Exemplos de Implementação de Código

Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"
Python Standard LibraryPython
import uuid

id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"
Go (google/uuid)Go
package main

import (
  "fmt"
  "github.com/google/uuid"
)

func main() {
  id := uuid.New()
  fmt.Println(id.String())
}

Perguntas Frequentes

Quantos UUIDv4 possíveis existem?
Com 122 bits de entropia (aprox. 5,3 × 10³⁶ combinações), a chance de colisão é inferior a uma em um bilhão mesmo gerando um bilhão de IDs por segundo durante 85 anos.
Este gerador utiliza Math.random()?
Não. Utiliza exclusivamente a Web Crypto API (crypto.getRandomValues), que obtém entropia criptográfica do kernel do sistema operacional.