Gerador de senhas

Gera senhas fortes com aleatoriedade criptográfica. Comprimento, conjuntos de caracteres e filtro de caracteres ambíguos. Só no navegador.

generators

Gerador de senhas

Comprimento:20

Gerada com crypto.getRandomValues. Para armazenar, use hash bcrypt / Argon2, nunca SHA puro.

Roda totalmente no seu navegador. Seus dados nunca saem do seu dispositivo.

What next?

How it works

O que "forte" realmente significa

A força de senha é medida em bits de entropia — log2 do número de possíveis senhas que seu esquema de geração poderia ter produzido. Uma senha de 20 caracteres extraída de 95 caracteres imprimíveis tem ~131 bits de entropia. Um "P@ssw0rd!" pode ser 8 caracteres mas a entropia é muito menor porque atacantes conhecem para tentar substituições comuns.

A intuição: comprimento esmaga complexidade. Uma senha de 20 caracteres com somente letras minúsculas (94 bits) é muito mais forte que uma de 8 caracteres com todos os símbolos (52 bits), e mais fácil de lembrar.

A orientação moderna (NIST SP 800-63B) reflete isso:

  • 12+ caracteres mínimo, 16+ recomendado
  • Sem rotação periódica obrigatória (deixa senhas mais fracas, não mais fortes)
  • Sem regras "deve incluir maiúscula + símbolo" (dirige usuários para padrões previsíveis)
  • Rejeite senhas encontradas em bancos de dados de vazamento conhecido

Como esta ferramenta gera

Usamos crypto.getRandomValues, o gerador de número aleatório criptograficamente seguro do navegador. Todo caractere é escolhido uniformemente aleatório de seu charset escolhido. Sem seed, sem Math.random (que NÃO é seguro), sem previsibilidade.

A pool de caracteres que você seleciona diretamente determina a entropia:

CharsetTamanho de poolBits por caractere
somente minúsculas264.7
+ maiúsculas525.7
+ dígitos625.95
+ símbolos~946.55

A estimativa no topo do gerador multiplica comprimento × bits-por-caractere e converte para uma estimativa de tempo de quebra, assumindo um atacante offline com um farm GPU de topo a 10 bilhões de palpites/segundo. Isso é deliberadamente pessimista — a maioria dos atacantes reais não consegue sustentar essa taxa.

O toggle de exclusão ambígua

Alguns caracteres parecem iguais em tamanhos de fonte pequenos: 0 e O, l e 1 e I, o backtick e apóstrofo. Quando excluídos, você desiste de ~6% de entropia em troca de ser capaz de ditar a senha pelo telefone ou ler de um printout. Vale a pena para cenários de uso único; pule quando gerando para uso apenas em gerenciador de senhas.

A regra única que todos quebram: não armazene senhas como SHA-256

Se sua aplicação aceita senhas de usuário e as armazena, você tem um trabalho: não as faça hash com um algoritmo rápido. SHA-256, SHA-1, MD5 — todos proibidos. A resposta certa é um hash lento, memory-hard, salted:

  • Argon2id — estado da arte atual
  • bcrypt — mais antigo mas ainda aceitável
  • scrypt — bom para alguns casos de uso

Estes são intencionalmente ~100ms por hash, o que é invisível para um usuário fazendo login mas ruinoso para um atacante tentando bilhões de palpites contra um banco de dados roubado. Use uma biblioteca, não implemente seu próprio.

Onde realmente armazenar senhas

Não na sua cabeça, não em uma planilha, não em um arquivo de texto. Use um gerenciador de senhas:

  • 1Password (pago, polido, planos familiares)
  • Bitwarden (código aberto, tier gratuito cobre a maioria dos usuários)
  • Apple Passwords / iCloud Keychain (usuários iOS/macOS)
  • KeePassXC (offline, auto-hospedado)

O gerenciador gera e armazena senhas para você então você precisa lembrar apenas uma senha mestra. Faça essa senha mestra 20+ caracteres de nonsense memorável (uma passphrase como correct horse battery staple funciona bem — são ~44 bits mas você consegue lembrar).

Casos de uso nesta ferramenta

  • Gerando credenciais de serviço que você salvará em um gerenciador de senhas
  • Gerando chaves de API aleatórias, segredos de webhook, chaves de assinatura JWT
  • Gerando senhas temporárias de uso único para compartilhar over um canal seguro
  • Gerando seeds de banco de dados ou fixtures de teste

Privacidade

A geração é inteiramente lado do cliente. A página nunca envia sua senha gerada para lugar nenhum. Abra a aba Network — silêncio enquanto você clica em Gerar. O CSPRNG do navegador é a fonte de entropia; nunca vemos a saída.

Ferramentas relacionadas

  • Gerador de hash — veja como SHA-256 da sua senha se parece (e aprenda por que assim não é como senhas devem ser armazenadas).
  • Gerador de UUID — quando você precisa de um ID estruturado único, não uma senha.

FAQ

Qual deve ser o tamanho minha senha?

12+ caracteres mínimo, 16+ recomendado para qualquer coisa importante, 20+ para senhas mestras. O comprimento importa mais que complexidade — uma senha de 20 caracteres somente minúsculas é mais forte que uma de 8 caracteres com mistura de símbolos.

Passphrases (correct horse battery staple) são melhores que strings aleatórias?

Para memorabilidade, sim. Quatro palavras inglesas aleatórias dão ~44 bits de entropia, suficiente para senhas de conta do dia a dia (apesar de inclinarmos para cinco ou seis palavras para contas de maior risco). Strings aleatórias atingem mais entropia por caractere mas apenas importam quando você não está memorizando — para credenciais armazenadas em gerenciador de senhas, pegue a string aleatória.

Por que excluir caracteres ambíguos perde entropia?

Remove ~6% da pool de caracteres, o que reduz levemente bits-por-caractere. Você recupera a capacidade de ler a senha em voz alta ou de um printout sem ambiguidade. Vale a pena o tradeoff para senhas de uso único ou escritas; pule para uso apenas em gerenciador de senhas.

A aleatoriedade aqui é segura?

Sim. Usamos crypto.getRandomValues, o CSPRNG do navegador, que é adequado para gerar chaves criptográficas. NÃO usamos Math.random, que é previsível e inseguro.

Minha senha gerada é enviada para seu servidor?

Não. A página faz toda a geração localmente. Abra DevTools Network e clique em Gerar — você verá zero solicitações.

Devo rodar minhas senhas periodicamente?

NIST não recomenda mais rotação periódica obrigatória. Força usuários em padrões previsíveis (Spring2024!Summer2024!). Rode quando você tiver razão de acreditar que uma senha foi comprometida (notificação de breach, atividade suspeita); caso contrário deixe senhas fortes únicas no lugar.

Por que "P@ssw0rd!" é fraco mesmo tendo os quatro tipos de caractere?

Porque atacantes conhecem para tentar padrões comuns de palavra + substituição comum primeiro. Entropia real vem de ser uma de muitas possibilidades igualmente prováveis — P@ssw0rd! é uma de talvez alguns milhares de "variantes óbvias inteligentes", não uma de 95^9 = 6e17 possibilidades aleatórias.

More generators tools