Gerador de UUID Versão 4
UUIDv4 • Criptograficamente Aleatório
00000000-0000-0000-0000-000000000000
Envolver:
Gerar UUIDs em Lote
0 msReady
Máx 5.000
Formatação e Estrutura
Pronto
No batch active1-click copy available on each row
Padrão da Indústria•RFC 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 Campo | Intervalo de Bits | Finalidade e Descrição |
|---|---|---|
| random_hi | 48 bits (0-47) | Entropia pseudoaleatória criptograficamente segura. |
| ver | 4 bits (48-51) | Valor binário constante 0100 (identifica a Versão 4). |
| random_mid | 12 bits (52-63) | Entropia pseudoaleatória criptograficamente segura. |
| var | 2 bits (64-65) | Valor binário constante 10 (variante padrão RFC). |
| random_lo | 62 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.