Saltar para o conteúdo
BCBinary Code Translator
Menu

Utilitário de identificadores

Gerador seguro de UUID v4

Gere UUID v4 únicos ou em lote com crypto.randomUUID e fallback crypto.getRandomValues, com opções de maiúsculas e hífens.

Os UUIDs são gerados localmente com aleatoriedade criptográfica do navegador. Math.random nunca é usado.

Introduza de 1 a 1000.

Como gerar UUID v4

Escolha quantidade e formato e gere. Os 128 bits sempre contêm a versão 4 e a variante RFC. Maiúsculas e remoção de hífens mudam apenas a apresentação.

  1. Introduza um inteiro de 1 a 1.000; o limite evita bloqueios e área de transferência enorme.
  2. Mantenha o formato 8-4-4-4-12, salvo se o destino exigir 32 carateres sem hífens.
  3. Use maiúsculas apenas por compatibilidade visual; a comparação não deve distinguir maiúsculas de minúsculas.
  4. Copie a lista e valide comprimento, formato e restrição única no destino.

Exemplos e comportamento esperado

Entrada Saída Observações
1, minúsculas, com hífens 550e8400-e29b-41d4-a716-446655440000 A forma comum usa grupos 8-4-4-4-12.
1, maiúsculas 550E8400-E29B-41D4-A716-446655440000 As maiúsculas mudam apenas a apresentação.
1, sem hífens 550e8400e29b41d4a716446655440000 A forma compacta preserva os mesmos 128 bits.
Nibble de versão xxxxxxxx-xxxx-4xxx-… O primeiro dígito do terceiro grupo é 4.
Nibble de variante …-[8|9|a|b]xxx-… O primeiro dígito do quarto grupo contém a variante RFC.
Quantidade 1001 Rejeitado O máximo por operação é 1.000.

Estrutura e padrão UUID v4

Um UUID é identificador de 128 bits, normalmente escrito como 32 dígitos hexadecimais em grupos 8-4-4-4-12. A versão 4 reserva bits de versão e variante e deixa 122 bits aleatórios.

crypto.randomUUID é preferido. Se não existir, 16 bytes são preenchidos por crypto.getRandomValues e os bits obrigatórios são ajustados. Não há fallback com Math.random. As opções de formato são aplicadas depois.

  • A forma canónica geralmente usa minúsculas e hífens.
  • A versão é 4.
  • A variante começa por 8, 9, a ou b.

Aleatoriedade e colisões

Com 122 bits aleatórios, uma colisão é desprezável em escalas normais quando a fonte é correta. Isto permite que clientes independentes criem identificadores sem coordenar uma sequência central.

Também importam falhas de implementação, máquinas clonadas e colunas truncadas. Preserve o valor completo e use restrição UNIQUE quando duplicatas quebrarem integridade. A página não controla o que ocorre depois da cópia.

  • Use restrição única na base de dados.
  • Não trunque UUID para criar códigos curtos.
  • Teste se importações preservam os 32 dígitos.

Identificador, não segredo

UUID aleatório é menos previsível que inteiro sequencial, mas não é credencial. Pode aparecer em URLs e logs. Autorização deve ser verificada em cada pedido; conhecer o ID não deve conceder acesso.

Também não o use diretamente como chave de criptografia ou token de redefinição. Esses casos exigem entropia, armazenamento, expiração, rotação e revogação específicos.

  • Separe identificação e autorização.
  • Não trate todo UUID como segredo.
  • Use tokens próprios para credenciais.

Lotes e formato textual

Os lotes servem para dados de teste, migrações e dados iniciais. O máximo de 1.000 limita o uso de memória e os erros. Cada UUID é gerado de forma independente.

Hífens facilitam o reconhecimento; alguns sistemas antigos exigem 32 carateres. Maiúsculas e minúsculas podem afetar comparações estritas. Defina uma representação nas fronteiras.

  • A saída usa um UUID por linha.
  • Maiúsculas e minúsculas representam o mesmo valor.
  • Alguns validadores exigem forma canónica.

Usos e alternativas

UUID v4 é útil para chaves distribuídas, registos criados por clientes, ficheiros, correlação e testes. Evita revelar contadores, embora índices de escrita alta precisem ser avaliados.

Timestamp é previsível; hash depende do conteúdo; inteiro autoincremental pode ser mais simples numa única base de dados. Escolha UUID quando unicidade descentralizada trouxer valor.

  • Criar IDs sem backend.
  • Atribuir correlação em sistemas distribuídos.
  • Preparar mapeamentos de importação.
  • Não usar UUID v4 para ordenação temporal.

Erros, suporte e verificação

Quantidades não inteiras, menores que um ou maiores que 1.000 são rejeitadas. Sem Web Crypto seguro, a geração falha em vez de usar aleatoriedade fraca.

Testes verificam forma, versão, variante e limite, mas teste determinístico não prova a entropia de um dispositivo real. Esta entrega não apresenta mocks ou Node como validação de navegador real.

  • Web Crypto moderno costuma exigir HTTPS ou contexto local fiável.
  • Valide a forma nas APIs.
  • Regex não prova origem segura.

Diferenças para hash e tempo

UUID v4 é aleatório e independente do conteúdo. Hash é determinístico e serve para integridade; timestamp representa tempo; HMAC autentica dados com chave.

Esta página implementa apenas v4. Se precisar de ordenação temporal, avalie um padrão específico em vez de inventar concatenações.

Perguntas frequentes

Usa Math.random?

Não. Prefere crypto.randomUUID e só recorre a crypto.getRandomValues com bits corretos. Sem fonte segura, falha.

Qual a chance de colisão?

É desprezível em volumes normais com 122 bits fiáveis. Ainda assim, use UNIQUE porque truncamento ou falhas de ambiente podem criar duplicatas.

Serve como segredo de API?

Não. É identificador e pode aparecer em URLs ou logs. Tokens exigem design próprio e autorização separada.

Maiúsculas ou remover hífens mudam o UUID?

Só mudam a representação. Um validador estrito pode exigir minúsculas com hífens; normalize nas fronteiras.

Porque é que o limite é 1.000?

Evita bloqueios, cadeias de texto enormes e erros de área de transferência. Para mais, use lotes deliberados ou script protegido.

Testes provam aleatoriedade do navegador?

Não. Verificam uso de API e formato, mas não entropia real. A entrega não afirma o contrário.

Ferramentas relacionadas

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE