UUID Generator
Gere UUIDs v4 aleatórios.
O que é um UUID?
Um UUID (Universally Unique Identifier) é um identificador de 128 bits padronizado pelo RFC 4122, representado em formato hexadecimal com hífens: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. O UUID v4, gerado por esta ferramenta, usa geração aleatória via crypto.randomUUID() — garantindo segurança criptográfica.
Com 122 bits de aleatoriedade, a probabilidade de dois UUIDs v4 colidirem é astronomicamente baixa (1 em 2^122 ≈ 5,3 × 10^36). Em termos práticos, se gerasse 1 bilhão de UUIDs por segundo durante 100 anos, a probabilidade de colisão seria ainda inferior a 1 em 1 bilhão — tornando o UUID v4 seguro para uso como identificador único global sem coordenação centralizada.
Versões de UUID
UUID v1 — Baseado em timestamp
Combina timestamp de 60 bits com endereço MAC. Previsível e potencialmente rastreável — evite em contextos de privacidade.
UUID v3 — MD5 hash
Gerado deterministicamente a partir de um namespace e nome via MD5. UUIDs iguais para os mesmos inputs. Obsoleto devido ao MD5.
UUID v4 — Aleatório (este gerador)
122 bits aleatórios. O mais usado em bases de dados e APIs modernas. Criptograficamente seguro com crypto.randomUUID().
UUID v5 — SHA-1 hash
Versão melhorada do v3 usando SHA-1. Útil quando precisa de UUIDs determinísticos e reproduzíveis a partir de um namespace.
Casos de uso de UUIDs em desenvolvimento
- Chaves primárias em bases de dados: evita conflitos de IDs em sistemas distribuídos, microsserviços e sharding horizontal, ao contrário de IDs auto-incrementais.
- Identificadores de sessão e tokens: gera tokens de sessão, tokens de reset de password e tokens de confirmação de email com alta entropia.
- Nomes de ficheiros únicos: ao guardar uploads de utilizadores, use UUID como nome de ficheiro para evitar colisões e ocultar informação sobre a estrutura do sistema.
- Correlação de logs: atribua um UUID a cada request HTTP para rastrear uma operação através de múltiplos serviços e logs.
- Testes e mock data: gere IDs únicos para dados de teste sem necessidade de uma base de dados ativa.
Perguntas frequentes sobre UUIDs
UUID vs ULID — qual escolher?
O ULID (Universally Unique Lexicographically Sortable Identifier) é uma alternativa ao UUID v4 que é ordenável cronologicamente, o que melhora a performance de índices em bases de dados. Use UUID v4 para compatibilidade máxima; ULID quando a ordenação temporal é importante.
UUIDs são case-sensitive?
Não. Por convenção, UUIDs são escritos em minúsculas, mas são equivalentes independentemente do case. A maioria das bases de dados e frameworks normaliza automaticamente.
Posso usar UUID como URL slug?
Tecnicamente sim, mas URLs com UUIDs são pouco amigáveis para utilizadores e SEO. Para URLs públicas, prefira slugs baseados no título (ex: /artigo/como-configurar-dns). Use UUIDs apenas em APIs e endpoints não-públicos.
UUID v4 em PostgreSQL vs MySQL — qual o tipo de coluna?
Em PostgreSQL, use o tipo nativo UUID. Em MySQL/MariaDB, use CHAR(36) ou BINARY(16) (mais eficiente). A maioria dos ORMs modernos (Prisma, TypeORM, SQLAlchemy) gerem a conversão automaticamente.
