Ir para o conteúdo

Gerador de senha forte

Senhas sorteadas no seu navegador, com sorteio criptográfico de verdade e sem viés de módulo — e, em vez de uma barrinha colorida, a entropia em bits e a conta que a produz. Nada é enviado a lugar nenhum.

De 4 a 128 caracteres

Até 50 por vez

O que pode entrar no sorteio

As senhas se refazem a cada mudança de campo — o botão leva você até elas.

A senha e a conta por trás dela

20 caracteres · alfabeto de 75 · 125 bits

O que foi sorteado

Alfabetominúsculas, maiúsculas, números, símbolos 75 caracteres
Entropia20 caracteres × log₂(75) — o alfabeto de fato sorteado 125 bits
Senhas possíveisquantas senhas diferentes o mesmo sorteio poderia ter produzido 3,2 × 10^37
  • A entropia acima só vale porque a senha foi SORTEADA. Uma senha escolhida por gente não tem entropia calculável desse jeito — "Brasil@2026" tem 11 caracteres e cai em qualquer lista de ataque.
Por que bits, e não uma barrinha colorida

A barra de "senha forte" que quase todo site mostra costuma contar regrinhas — tem maiúscula, tem número, passou de oito — e por isso dá verde para Senha@2026, que está em qualquer lista de ataque. A entropia mede outra coisa: quantos palpites separam o atacante da sua senha. Cada bit a mais dobra esse número.

E ela só vale porque a senha foi sorteada. Não existe jeito honesto de calcular a entropia de uma senha que uma pessoa inventou — o que se pode dizer dessa é se ela já apareceu em algum vazamento.

Força Excessiva

As senhas, prontas para copiar

GbM9X=CF_L@2MijIKvQb

Uma senha por linha. A cópia usa a área de transferência do seu navegador — lembre-se de que outros programas podem lê-la.

Como melhorar esta calculadora?

Faltou uma verba, o número saiu diferente do seu contracheque ou alguma palavra ficou confusa? Escreva. Quem lê é a pessoa que mantém o site, e é daí que sai a próxima versão desta página.

Escrever uma sugestão →

Abre seu programa de e-mail com o assunto e a página já preenchidos, e com as perguntas que ajudam a entender o caso. Sem formulário, sem cadastro, sem cookie.

publicidade

336×280 · in-content

Como a força é medida

A conta é curta: entropia = comprimento × log₂(tamanho do alfabeto). Com o alfabeto completo desta página, de 75 caracteres, cada caractere sorteado acrescenta cerca de 6 bits.

Bits são um jeito compacto de falar de tamanho de busca: 40 bits são aproximadamente um trilhão de possibilidades; 80 bits são um trilhão de trilhões. Cada bit dobra o trabalho de quem tenta adivinhar.

Faixas de força por entropia
EntropiaLeitura
menos de 40 bits Fraca — um computador comum percorre todas as combinações em horas
de 40 a menos de 60 bits Razoável — resiste a palpite casual, mas não a quem tem uma placa de vídeo e tempo
de 60 a menos de 80 bits Forte — fora do alcance de ataque doméstico contra um hash moderno
de 80 a menos de 100 bits Muito forte — o custo de quebrar por força bruta deixa de compensar
100 bits ou mais Excessiva — além deste ponto o elo fraco é outro — vazamento, phishing, reuso

Os cortes são ordens de grandeza de custo de ataque offline, não uma norma: não existe tabela oficial brasileira de força de senha, e a referência internacional mais usada (NIST SP 800-63B) foi na direção de abandonar regra de composição e olhar comprimento — que é o que esta página faz.

Quanto vale cada caractere a mais

É a tabela que explica por que "aumente o tamanho" vence "acrescente um símbolo". Todos os valores usam o alfabeto completo, de 75 caracteres:

Entropia por comprimento, com o alfabeto completo
CaracteresEntropiaLeitura
8 50 bits Razoável
12 75 bits Forte
16 100 bits Muito forte
20 125 bits Excessiva
24 149 bits Excessiva
32 199 bits Excessiva

Repare que a diferença entre 8 e 12 caracteres é maior que qualquer regra de composição que um site possa exigir.

Por que nada sai do navegador

Esta página é um arquivo estático. Não há servidor recebendo formulário, não há requisição de rede depois que ela carrega e não há como a senha viajar — o sorteio é feito pelo próprio navegador, com crypto.getRandomValues. Se quiser conferir, desconecte a internet e continue gerando.

Uma honestidade que quase nenhum gerador declara: a senha que aparece antes de o JavaScript rodar é pública. Ela é sorteada no momento em que o site é publicado, com semente fixa, para que a página funcione sem JavaScript e não pule ao carregar — e está, literalmente, no código-fonte deste site. Ela existe para você ver o formato do resultado. Assim que o JavaScript roda, a senha na tela é trocada por uma sorteada de verdade, no seu aparelho.

Código pronto, sem viés de módulo

O trecho abaixo é o mesmo sorteio que esta página usa. A parte que importa é o while: ele descarta os bytes que sobram da divisão, em vez de dobrá-los sobre o começo do alfabeto.

function sortearSenha(comprimento, alfabeto) {
  const limite = alfabeto.length;
  // Maior múltiplo de `limite` que cabe em 256. Bytes acima disso são descartados:
  // é o que faz cada caractere ter exatamente a mesma chance.
  const teto = 256 - (256 % limite);
  const senha = [];

  while (senha.length < comprimento) {
    for (const byte of crypto.getRandomValues(new Uint8Array(32))) {
      if (byte >= teto) continue;              // <- sem isto, há viés
      senha.push(alfabeto[byte % limite]);
      if (senha.length === comprimento) break;
    }
  }
  return senha.join('');
}

No Node, troque crypto.getRandomValues por crypto.randomBytes(32). O que não muda em lugar nenhum é a regra: nunca Math.random, e nunca % alfabeto.length sem descartar o excedente.

O que importa mais que a senha

Passados uns 80 bits, o elo fraco deixa de ser a senha. O que quebra conta, na prática, é outra coisa:

  • Reuso. A mesma senha em dois sites transforma o vazamento de um deles em invasão do outro. É de longe o problema mais comum, e entropia nenhuma resolve.
  • Phishing. Uma senha de 128 bits digitada na página errada vale zero. Só a verificação em duas etapas ajuda aqui — de preferência por aplicativo ou chave física, não por SMS.
  • Não usar um gerenciador. Senha sorteada é boa porque ninguém a decora; se você precisa decorá-la, vai acabar reusando ou simplificando.

Se o que você precisa é de números de documento para testar software, veja o Gerador de CPF e o Gerador de CNPJ. Os demais estão no hub de geradores.

Perguntas frequentes

Esta senha é enviada para algum servidor?

Não, e a página é estática justamente para poder prometer isso. O sorteio acontece no seu navegador, por crypto.getRandomValues, e a senha nunca entra numa requisição — não há para onde ela ir. Você pode conferir: desconecte a internet depois de a página carregar e o gerador continua funcionando.

O que é entropia e por que ela importa mais que "letra, número e símbolo"?

Entropia é quantos palpites, em média, um atacante precisa dar para acertar a senha por força bruta — medida em bits, onde cada bit dobra o trabalho. Ela depende de duas coisas: o tamanho do alfabeto e o comprimento. É por isso que exigir "uma maiúscula e um símbolo" resolve tão pouco: acrescentar quatro caracteres a uma senha sorteada vale muito mais que qualquer regra de composição, e é o que leva as pessoas a escolherem "Senha@1" — que cumpre a regra e não vale nada.

Quantos caracteres uma senha precisa ter?

Com o alfabeto completo desta página (75 caracteres), 12 já passam de 71 bits e 16 chegam perto de 95 — o suficiente para tornar a força bruta irrelevante contra um hash moderno. O padrão aqui é 20 porque não custa nada digitar uma senha que você vai guardar num gerenciador. Se for uma senha que você precisa decorar, o caminho é outro: uma frase longa de palavras aleatórias.

Por que o gerador não garante ao menos um número e um símbolo?

Porque garantir isso REDUZ a segurança, ainda que pareça o contrário. Forçar um caractere de cada tipo elimina do sorteio todas as senhas que não seguem esse padrão, e um espaço menor de senhas possíveis é exatamente o que um atacante quer. Se o site de destino exigir composição, gere de novo até sair uma que sirva, ou aumente o comprimento — nunca vale trapacear no sorteio.

Devo tirar os caracteres ambíguos?

Só se você for digitar a senha à mão a partir de outra tela ou de um papel. Remover l, I, 1, O, 0 evita a confusão entre ele e um, i maiúsculo e ele minúsculo, o e zero — e encolhe o alfabeto, o que baixa a entropia. A calculadora mostra a queda quando você marca a opção. Para senha que vive num gerenciador, deixe desmarcado.

Posso usar Math.random para gerar senha no meu código?

Não. Math.random é um gerador pseudoaleatório rápido e previsível: quem observa alguns valores de saída consegue reconstruir o estado interno e prever os próximos. Já houve caso real de carteira e de token de recuperação quebrados por isso. A função certa é crypto.getRandomValues no navegador e crypto.randomBytes no Node — e depois um sorteio sem viés de módulo, como a seção de código desta página mostra.

O que é viés de módulo?

É o defeito de sortear com resto de divisão. Um byte vai de 0 a 255, ou seja 256 valores; se o alfabeto tem 62 caracteres, 256 dividido por 62 dá 4 com resto 8 — então os 8 primeiros caracteres do alfabeto aparecem 5 vezes na conta e os outros 54 aparecem 4. O resultado é uma senha em que certos caracteres saem cerca de 1,6% mais que os demais e a entropia real é menor que a anunciada. Este gerador descarta os bytes excedentes em vez de dobrá-los.

Onde eu guardo essa senha?

Num gerenciador de senhas. Uma senha sorteada de 20 caracteres é boa exatamente porque ninguém a decora, e a alternativa — anotar num arquivo de texto ou reusar em vários sites — desfaz o ganho. Reuso é o que transforma o vazamento de um site qualquer em invasão do seu e-mail, e nenhuma quantidade de entropia protege contra isso.