Ferramentas
Guias

Gerador de senhas

Cripto

Gera senhas aleatórias criptograficamente seguras com crypto.getRandomValues.

100% no cliente Sem backend
Nesta página

O que é um gerador de senhas?#

Um gerador de senhas transforma uma fonte de aleatoriedade real numa string de caracteres que pode usar como credencial. O ponto não é apenas “torná-la longa” — é retirar de um conjunto de caracteres uniformemente, de modo a que todas as senhas possíveis do comprimento escolhido sejam igualmente prováveis. Essa uniformidade é o que permite raciocinar sobre a força matematicamente: uma senha de 16 caracteres sobre 93 caracteres transporta cerca de 105 bits de entropia, ponto final, sem viés humano para explorar.

Esta página usa crypto.getRandomValues, a fonte aleatória criptograficamente forte do navegador, e faz a extração com rejeição por amostragem. Esse detalhe importa: o atalho ingénuo de tomar randomByte % poolSize introduz viés de módulo quando o tamanho do conjunto não divide 256 de forma uniforme. A rejeição por amostragem descarta as sobras enviesadas, pelo que a seleção é sem viés para qualquer conjunto — incluindo o conjunto completo e incómodo de 93 caracteres.

O indicador de força por baixo do resultado é calculado honestamente como comprimento × log2(poolSize) — entropia de Shannon — e classificado em fraca / razoável / boa / forte. Reflete o conjunto que realmente selecionou, não um palpite.

Como usar#

  1. Defina o comprimento. A predefinição de 16 é um bom comprimento para tudo; o campo aceita até 4096.
  2. Marque as classes de caracteres a incluir: a-z (minúsculas), A-Z (maiúsculas), 0-9 (dígitos), !@# (símbolos). Minúsculas, maiúsculas e dígitos estão ativos por padrão; símbolos estão desativados porque alguns formulários de login os rejeitam.
  3. Opcionalmente marque Excluir similares para largar caracteres visualmente confundíveis (i l 1 L o 0 O e alguns símbolos com aspeto de aspas) — útil quando a senha vai ser lida em voz alta ou escrita à mão.
  4. Clique em Gerar, depois Copiar. A linha de estado reporta a entropia em bits e uma etiqueta de força derivada do conjunto e comprimento que escolheu.

Principais funcionalidades#

  • Aleatoriedade sem viés. A rejeição por amostragem sobre crypto.getRandomValues significa que não há viés de módulo, mesmo em conjuntos cujo tamanho não é potência de dois.
  • Indicador de força honesto. A entropia é calculada a partir do tamanho real do conjunto e do comprimento, não estimada a olhar para os caracteres; as faixas fraca / razoável / boa / forte mapeiam para limiares fixos de bits (28 / 60 / 100).
  • Modo excluir similares. Retira os caracteres mais propensos a serem mal lidos, para senhas que humanos têm de transcrever.
  • Ajustável até 4096. Quer se queira uma senha de login de 16 caracteres ou uma chave de API de 64 caracteres, o mesmo gerador trata de ambas.
  • Zero envios. A geração é inteiramente local; a senha nunca é enviada por uma rede.

Exemplo prático#

Com comprimento 16, todas as quatro classes ativadas (minúsculas + maiúsculas + dígitos + símbolos) e Excluir similares desativado, o conjunto é de 93 caracteres (26 + 26 + 10 + 31). A entropia é portanto 16 × log2(93) ≈ 16 × 6,54 ≈ 105 bits, que aterra na faixa forte (≥ 100 bits). Um resultado gerado parece-se com:

qM8#fT2$vRkL9@hZ

Ative Excluir similares e o conjunto desce para 85 (oito caracteres confundíveis removidos), dando 16 × log2(85) ≈ 103 bits — ainda forte, mas agora seguro para ler pelo telefone.

Para contrastar: desça para comprimento 12 só com minúsculas + dígitos (conjunto de 36), e a entropia cai para 12 × log2(36) ≈ 62 bits — apenas boa. Essa descida, de 105 para 62 bits, não é um erro de arredondamento: é cerca de 2^43 vezes mais rápido de atacar por força bruta, que é exatamente porque é que o conjunto de caracteres e o comprimento importam ambos.

FAQ#

Quanto é “longo o suficiente”?#

Para uma senha de login atrás de um serviço com limite de taxa, 12 a 16 caracteres de um conjunto amplo é confortável. Para uma chave de API ou uma senha que se guarda num gestor sem limite de taxa online a protegê-la, aponte para 25+ caracteres. O indicador de força diz-lhe a verdade em bits — tudo em ou acima dos 100 bits é considerado forte contra força bruta offline no hardware atual.

Porque é que a mesma configuração produz uma senha diferente de cada vez?#

Porque os bytes aleatórios subjacentes são frescos em cada clique. Esse é todo o ponto — se a saída fosse previsível, um atacante poderia prevê-la também. Não há semente que se possa fixar, por desenho.

Devo incluir símbolos?#

Inclua-os a menos que o sistema de destino os rejeite. Os símbolos alargam o conjunto (de 62 para 93 caracteres no conjunto predefinido), o que eleva diretamente a entropia por carácter. A razão comum para os deixar de fora é um formulário de login que proíbe certa pontuação, não uma trade-off de segurança.

Uma senha gerada é mais segura que uma que eu invento?#

Quase sempre sim. Os humanos são péssimos em aleatoriedade — amontoamo-nos em palavras comuns, padrões repetidos, e percursos de teclado em torno dos quais os dicionários são construídos. Um gerador que retira uniformemente de um conjunto definido não tem esses hábitos, pelo que uma senha gerada de 16 caracteres é de forma fiável mais forte que uma de 12 caracteres escolhida por humano que parece inteligente.