O que é Gerador de tokens aleatórios?

Gere tokens aleatórios em formatos hex, base64, alfanumérico, URL-safe, numérico, com símbolos ou com um conjunto de caracteres totalmente personalizado usando a Web Crypto API. Use-os para chaves de API, tokens de sessão, tokens CSRF, PINs e códigos OTP numéricos, e links de redefinição de senha que exigem aleatoriedade criptográfica.

Todos os bytes vêm de crypto.getRandomValues, a mesma fonte que o navegador usa para gerar chaves TLS. Escolha 16, 32, 48, 64 ou 128 bytes brutos, e o painel de entropia mostra na hora quantos bits de aleatoriedade isso dá no formato selecionado. Gere até 20 tokens de uma vez e baixe em .txt para provisionamento em lote.

Como usar

  1. Escolha o formato do token (hex, base64, alfanumérico, URL-safe, numérico, com símbolos ou seus próprios caracteres personalizados) e o comprimento desejado.
  2. Clique em gerar para criar instantaneamente um token aleatório criptograficamente seguro.
  3. Copie o token ou gere vários tokens de uma vez para uso em massa.

Quando usar

  • Emitir chaves de API, segredos para assinar webhooks ou tokens de autenticação entre serviços.
  • Criar links de redefinição de senha, tokens de confirmação de email ou URLs de login de uso único.
  • Popular fixtures de teste com IDs aleatórios realistas que não colidam.

Resultado

Gere um token hex de 256 bits (64 caracteres) para usar como chave de API: 'a3f8b2c1d4e5f6...', com entropia total de crypto.getRandomValues.

Perguntas frequentes

Quanta entropia uma chave de API realmente precisa?
128 bits é o mínimo prático para qualquer credencial de longa duração e aguenta força bruta muito além do razoável. Para chaves de assinatura ou segredos criptográficos use 32 bytes (256 bits). 16 bytes serve para tokens de sessão curta.
Qual é a diferença entre base64 e URL-Safe?
Base64 usa + e / e padding =, que quebram ao colar em URLs ou nomes de arquivo. URL-Safe troca esses por - e _ e elimina o padding. Use URL-Safe em qualquer token que vá parar em query string, caminho ou cabeçalho HTTP.
Por que a entropia alfanumérica é menor que a hex com o mesmo número de bytes?
Hex e base64 colocam os 8 bits de cada byte direto no caractere. O alfanumérico mapeia cada byte para um dos 62 caracteres por módulo, perde cerca de 2 bits por byte e introduz um pequeno viés. Tudo bem para IDs, fraco para segredos cripto.
Posso usar Math.random() como fallback se Web Crypto não estiver disponível?
Não. Math.random() é um PRNG previsível e quem vê algumas saídas consegue reproduzir as próximas. Web Crypto existe em todos os navegadores desde 2014 e no Node.js moderno. Se faltar, é melhor não gerar o segredo.
O mesmo token pode aparecer duas vezes na minha aplicação?
Com 16 bytes precisaria emitir cerca de 2^64 tokens para uma colisão ficar provável (limite do aniversário). Para qualquer carga real, até bilhões de tokens, a colisão é estatisticamente nula e não precisa checar unicidade.

Ferramentas relacionadas