Gerador de Token / Chave de API
Gere tokens aleatórios criptograficamente seguros: hexadecimal, alfanumérico, Base58 ou UUID. Ideal para chaves de API, segredos e tokens de sessão.
crypto.getRandomValues()
Quando usar cada formato?
- • Hexadecimal: chaves de API, tokens de sessão, segredos de webhook
- • Alfanumérico: códigos de verificação, tokens legíveis
- • Base58: URLs curtas, tokens sem caracteres ambíguos (sem 0, O, I, l)
- • UUID v4: identificadores únicos de recursos, IDs de banco de dados
Tokens de autenticação sem mistério
Um token é uma string opaca que um cliente autenticado envia ao servidor no lugar de usuário e senha. Sistemas diferentes usam formatos diferentes de token, dependendo do tempo de vida, de quem emite e do que ele protege:
- API keys — credenciais de longa duração emitidas para um projeto ou máquina; geralmente rotacionadas manualmente.
- Bearer tokens (RFC 6750) — qualquer coisa em
Authorization: Bearer …; quem possui está autorizado. - Session tokens — IDs armazenados no servidor e gravados em cookie; revogados no logout.
- Access tokens OAuth — curta duração (~1h), atrelados a um escopo e usuário específicos.
- Refresh tokens — longa duração (30+ dias), usados só para obter novos access tokens.
- CSRF tokens — ligados à sessão e/ou requisição, rotacionados em cada formulário.
- Magic links — tokens de uso único enviados por e-mail ou SMS para login sem senha.
Quanta entropia é suficiente
A OWASP recomenda no mínimo 128 bits (16 bytes) de entropia para tokens de sessão — isso dá ao atacante um espaço de busca de 2128. Chaves criptográficas (de assinatura, de cifra simétrica) devem mirar em 256 bits (32 bytes). A codificação não muda a entropia, só o tamanho do texto: hex usa 2 chars por byte, base64 usa 4 chars a cada 3 bytes, base64url é URL-safe (sem +, /, =) e base32 (variante Crockford) evita caracteres ambíguos.
Formatos comuns
UUIDv4 empacota 122 bits aleatórios efetivos em um layout fixo de 36 caracteres. nanoid usa por padrão 21 caracteres URL-safe (~149 bits). ULID usa 26 caracteres e é ordenável no tempo, útil como chave primária. Para a maioria dos tokens de sessão/API, uma string base64url de 32 caracteres (192 bits) é o ponto ótimo entre tamanho e segurança.
CSPRNG vs Math.random
Nunca gere tokens de produção com Math.random() — é um PRNG rápido com seed previsível, não criptograficamente seguro. Use o CSPRNG da plataforma:
// Browser
const buf = new Uint8Array(32)
crypto.getRandomValues(buf)
// Node.js
require('crypto').randomBytes(32).toString('base64url')
// Python
import secrets; secrets.token_urlsafe(32)
// Java
new java.security.SecureRandom().nextBytes(buf)
Armazenamento e rotação
Nunca logue tokens em texto puro, nunca comite no git e nunca os exponha em URLs salvo se forem de uso único. Mantenha em variáveis de ambiente ou em um secrets manager (Vault, AWS Secrets Manager, Doppler), rotacione periodicamente e revogue os comprometidos via deny-list ou TTL curto. JWT é self-contained (claims assinadas pelo servidor, validadas sem estado) enquanto um token opaco é apenas uma string aleatória que requer lookup a cada requisição — o opaco é mais fácil de revogar; o JWT escala melhor, mas a revogação é mais complexa.
Perguntas frequentes
Este gerador usa CSPRNG? Sim. Ele chama crypto.getRandomValues() no seu navegador, que é o RNG criptograficamente seguro da Web Crypto API.
É seguro usar esses tokens em produção? Tecnicamente sim — os bytes são criptograficamente fortes — mas a boa prática é gerar tokens no backend para que nunca trafeguem pelo front-end nem fiquem no histórico do navegador.
Qual comprimento devo escolher? 32+ caracteres URL-safe atende a maior parte dos casos. Vá para mais (48–64) em refresh tokens e chaves de assinatura; UUIDv4 (122 bits) é aceitável para identificadores não-secretos.
Ferramentas Relacionadas
Gerador de Manuscrito
Converte texto digitado em uma imagem com aparência de letra manuscrita. Útil para tornar trabalhos digitais mais pessoais.
Gerador de Currículo
Preenche um currículo simples (CV) imprimível em A4 a partir de formulário com dados pessoais, formação e experiência.
Gerador de Favicon
Gera favicon a partir de texto/emoji em todos os tamanhos comuns (16, 32, 48, 64, 192, 512). Download como PNG.