ToolActToolAct

Gerador de Senhas

Gere senhas fortes com comprimento e tipos de caracteres personalizados

Configuração de Senha
416324864
MaiúsculasA-Z
Minúsculasa-z
Números0-9
Símbolos!@#$%^&*
Caracteres PersonalizadosUsar conjunto de caracteres personalizado
Opções Avançadas

Excluir caracteres confusos como 0O, 1lI

Excluir Ambíguosi, l, 1, L, o, 0, O
Começar com LetraMais fácil para copiar e colar
Clique no botão gerar para criar uma senha
Força da SenhaFraca
Geração em Lote
Clique em 'Gerar Lote' para criar múltiplas senhas
Histórico
Nenhum histórico ainda

O que é um Gerador de Senhas?

Um gerador de senhas cria senhas aleatórias e difíceis de adivinhar conforme comprimento e regras de caracteres escolhidos. Um bom gerador usa aleatoriedade criptograficamente segura e combina letras maiúsculas, minúsculas, números e símbolos apenas quando o sistema de destino aceita esses caracteres. Senhas fortes reduzem ataques de dicionário, força bruta e credential stuffing, mas não substituem bons hábitos como usar gerenciador de senhas, manter uma senha única por conta e ativar autenticação multifator. Senhas muito complexas não devem ser memorizadas nem reutilizadas; devem ser armazenadas com segurança. Em sistemas compartilhados, rotação, propriedade e regras de acesso também precisam ficar claras.

Como Usar

Etapas de Geração

  1. Selecione o comprimento da senha (mínimo de 12 caracteres recomendado)
  2. Marque os tipos de caracteres: maiúsculas, minúsculas, números, símbolos
  3. Opcionalmente, exclua caracteres confusos como 0O, 1lI
  4. Clique no botão Gerar, repita até ficar satisfeito

Força da Senha

  • Fraca: Menos de 8 caracteres ou um único tipo de caractere
  • Razoável: 8-11 caracteres com letras e números misturados
  • Boa: 12-15 caracteres com múltiplos tipos de caracteres
  • Forte: 16+ caracteres com todos os tipos de caracteres

Dicas de Segurança

  • Todas as senhas são geradas localmente, nunca enviadas a servidores
  • Use senhas diferentes para diferentes sites
  • Use um gerenciador de senhas para armazenar senhas com segurança
  • Altere regularmente as senhas de contas importantes
  • Evite usar informações pessoais nas senhas

Casos de uso

Gerar senhas com regras precisas de caracteresDefina o comprimento de 4 a 64 caracteres, escolha maiúsculas, minúsculas, números, símbolos, conjuntos personalizados de caracteres, exclusões, remoção de caracteres ambíguos e se a senha deve começar com uma letra. As senhas são geradas e usadas localmente — a página obtém entropia de crypto.getRandomValues e a string resultante fica em memória até ser copiada para o aplicativo de destino, nunca sendo enviada a nenhum serviço.
Criar lotes para configuração de contas ou testesGere 5, 10, 20 ou 50 senhas usando as regras atuais e copie resultados individuais da lista em lote. As predefinições para senhas simples, médias, fortes e estilo PIN facilitam a alternância entre credenciais reais e dados de teste. Cada valor na lista é gerado e usado localmente, o que significa que a mesma sessão pode produzir fixtures descartáveis e senhas reais sem que nenhuma delas passe pela rede.
Manter histórico curto de geração localAs senhas geradas recentemente são armazenadas no localStorage com horários e podem ser limpas da página. Isso é útil durante sessões de configuração, mas o comportamento do histórico também torna importante limpar a lista em máquinas compartilhadas. Como cada entrada é gerada e usada localmente, o arquivo de histórico é a única cópia existente — removê-lo via botão Limpar realmente elimina o valor do dispositivo.
Gerar uma senha memorável estilo passphraseDesative símbolos, defina o comprimento em torno de 20 e deixe apenas minúsculas e números se combinarem para que o resultado se aproxime de uma passphrase. Ainda assim, use um gerenciador de senhas para armazená-la — strings longas não são feitas para memorização. A fonte de aleatoriedade permanece na aba do navegador, então o mesmo gerador pode ser usado em uma estação de trabalho offline ou atrás de um firewall restritivo.
Criar fixtures de teste compatíveis com uma política de senhas alvoDefina o mesmo comprimento, classes de caracteres e exclusões que o validador de produção aplica, depois gere lotes de 20 a 50 para popular QA, formulários de cadastro ou simulações de vazamento. O gerador não valida contra sistemas reais, então confirme a política em si. Como cada fixture é gerado e usado localmente, a mesma página pode produzir milhares de senhas de teste conformes sem vazar a política ou os valores gerados por chamada de rede.

Princípio técnico

O gerador de senhas extrai aleatoriedade de crypto.getRandomValues(new Uint32Array(n)), que preenche um array tipado com valores pseudo-aleatórios criptograficamente seguros provenientes do pool de entropia do sistema operacional (getrandom no Linux, BCryptGenRandom no Windows, SecRandomCopyBytes no macOS/iOS). Trata-se de um CSPRNG conforme definido pela W3C Web Cryptography API — diferentemente de Math.random(), que no V8 usa o algoritmo xorshift128+ e é explicitamente documentado como não criptográfico e previsível a partir de uma pequena amostra de saídas. O pool de caracteres é montado a partir das classes de caracteres selecionadas pelo usuário: maiúsculas (26 letras A-Z), minúsculas (26 letras a-z), dígitos (10 caracteres 0-9) e símbolos (32 caracteres de !@#$%^&*()_+-=[]{}|;:,.<>?), resultando em um pool máximo de 94 caracteres. Um conjunto personalizado de caracteres ou lista de exclusão (incluindo um filtro de caracteres ambíguos que remove i, I, l, L, 1, o, O, 0) refina ainda mais o pool. Cada caractere da senha é selecionado tomando array[i] % pool.length, que é uniformemente distribuído porque a saída do CSPRNG é uniforme em 32 bits e o viés do módulo (|pool| não divide 2^32 uniformemente) é insignificante para pools com menos de 256 caracteres — o viés é inferior a 0,00000006%, muito abaixo de qualquer preocupação prática. A força da senha é medida pelo tamanho do espaço de busca: para um pool de tamanho C e comprimento de senha L, o número de senhas possíveis é C^L. A entropia em bits é log2(C^L) = L × log2(C). Para uma senha de 16 caracteres com as quatro classes de caracteres habilitadas (C=94), isso resulta em 94^16 ≈ 4,4 × 10^31 combinações, ou cerca de 105 bits de entropia. A uma taxa hipotética de ataque de 10^12 tentativas por segundo (aproximamente a capacidade de um grande cluster de GPU contra um hash rápido como NTLM), a busca exaustiva levaria aproximadamente 4,4 × 10^19 segundos — muito mais que a idade do universo. Este modelo assume que o atacante deve testar cada combinação (sem atalhos baseados em dicionário ou padrão) e que a senha é hasheada com um algoritmo lento e salgado como bcrypt ou Argon2id, em vez de armazenada em texto simples. O NIST SP 800-63B recomenda um mínimo de 8 caracteres para senhas escolhidas pelo usuário e pelo menos 6 caracteres gerados aleatoriamente para credenciais geradas por máquina, com o conjunto de caracteres documentado. O intervalo de comprimento do gerador de 4 a 64 caracteres abrange tudo, desde códigos PIN até credenciais de máquina de alta entropia. A opção de começar com uma letra garante que o primeiro caractere seja extraído de [A-Za-z], o que atende a sistemas legados que exigem que as senhas comecem com uma letra.

  • Fonte CSPRNG: crypto.getRandomValues() obtém entropia do CSPRNG do kernel do sistema operacional (getrandom/BCryptGenRandom/SecRandomCopyBytes) — diferentemente de Math.random() (xorshift128+), não é previsível, não pode ser inicializado pela página e é adequado para geração de credenciais.
  • Matemática do espaço de caracteres: Com as quatro classes habilitadas, o tamanho do pool é 94; a entropia por caractere é log2(94) ≈ 6,55 bits. Uma senha de 16 caracteres possui ~105 bits de entropia; dobrar o comprimento para 32 eleva isso para ~210 bits.
  • Seleção por módulo: array[i] % pool.length mapeia a saída CSPRNG de 32 bits para um índice de caractere — o viés é inferior a 6 × 10^-8 % para pools com menos de 256 caracteres, tornando-o criptograficamente irrelevante.
  • Modelo de resistência a força bruta: A 10^12 tentativas/segundo (escala de cluster GPU), uma senha de 16 caracteres com 94 símbolos levaria ~10^19 segundos para esgotar — mas isso assume um hash rápido; bcrypt com fator de custo 12 reduz o atacante para ~10^4 tentativas/segundo, tornando até senhas de 8 caracteres resilientes.
  • Exclusão de caracteres ambíguos: O filtro remove {i, I, l, L, 1, o, O, 0} (8 caracteres) — isso reduz o pool de 94 para 86, custando aproximadamente 0,6 bits de entropia por caractere, o que é aceitável pelo ganho de usabilidade em cenários de transcrição manual.
  • Alinhamento com NIST SP 800-63B: O padrão exige um mínimo de 6 caracteres escolhidos aleatoriamente para segredos gerados por máquina e recomenda documentar o espaço de caracteres — as predefinições do gerador (Simples 8 caracteres, Forte 20 caracteres) mapeiam para diferentes níveis de garantia.
  • Histórico no localStorage: As últimas 10 senhas geradas são persistidas em window.localStorage, que é delimitado por origem e perfil do navegador — limpar o histórico remove as senhas do armazenamento, mas uma ferramenta forense a nível de disco poderia recuperá-las porque o localStorage é armazenado como um banco de dados SQLite em texto simples no diretório do perfil do navegador.

Exemplos

Senha forte (classes de caracteres mistas)

Kx9#mP2$vL7@nQ4!  -  16 caracteres, todas as quatro classes (maiúscula/minúscula/dígito/símbolo)
Força: extremamente alta; mesmo a 10 bilhões de tentativas por segundo, quebrá-la por força bruta levaria séculos

Código PIN (4 dígitos)

8527  -  4 dígitos numéricos
Força: 10.000 combinações; adequado apenas para desbloqueio de dispositivos com limite de tentativas e bloqueio, não para contas online

Comparação de força de senha

8 caracteres, só minúsculas : 26^8      ≈ 2,08e11 combinações
8 caracteres, classes mistas : 94^8      ≈ 6,10e15 combinações
16 caracteres, classes mistas: 94^16     ≈ 3,7e31 combinações
Nota: cada caractere extra multiplica o espaço de chaves por 94, não por 8 - o comprimento importa mais que o número de classes

Perguntas frequentes

A senha é gerada no meu navegador?

Sim. A página usa crypto.getRandomValues da Web Crypto API, que fornece bytes aleatórios criptograficamente fortes. A senha nunca sai do seu dispositivo, não é registrada e não vem de uma semente determinística. Atualize a página para começar uma nova sequência de entropia se quiser ter certeza.

Que tamanho e mistura de caracteres devo escolher?

Para contas online, 16+ caracteres com maiúsculas, minúsculas, dígitos e símbolos é o mínimo moderno. Para senhas mestras (gerenciador de senhas, chaves de criptografia), 20+ caracteres ou uma frase secreta de 6-7 palavras é mais seguro. A partir de certo ponto, o comprimento importa mais do que a complexidade do conjunto de caracteres.

Por que alguns sites rejeitam a senha que acabei de gerar?

Alguns sites ainda impõem restrições surpreendentes: tamanho máximo (geralmente 12-20), proibição de símbolos, apenas símbolos específicos permitidos ou nada de espaços em branco. A página tem alternadores de caracteres para você se ajustar às regras. Reclame com o site infrator - essas políticas enfraquecem a segurança ativamente.

Alguns caracteres são evitados de propósito?

Se você ativar a opção 'evitar caracteres parecidos', o gerador exclui 0/O, 1/l/I e pares similares que são fáceis de confundir ao copiar de um papel ou post-it. Desative para a entropia máxima quando for usar a senha apenas digitalmente.

Uma senha aleatória longa é mais segura que uma frase secreta?

Com entropia equivalente, ambas são igualmente difíceis de quebrar por força bruta. Uma senha mista de 16 caracteres equivale aproximadamente a uma frase secreta aleatória de 6 palavras tiradas de uma lista de 2000. Frases secretas são mais fáceis de digitar e lembrar; strings puramente aleatórias são mais fáceis de colar de um gerenciador. Escolha conforme o caso de uso.

Posso confiar nisso para chaves mestras de gerenciadores de senha?

Sim - a fonte de aleatoriedade é a mesma Web Crypto API que seu navegador usa para chaves HTTPS. Dito isso, para segredos de altíssimo risco (chaves mestras, códigos de recuperação), muita gente prefere jogar dados (diceware) ou usar uma ferramenta offline, simplesmente para tirar o navegador da cadeia de confiança.

Devo armazenar a senha gerada aqui?

Não. A página não salva senhas; copie imediatamente para um gerenciador de senhas (1Password, Bitwarden, KeePass, o gerenciador embutido do navegador). Fechar a página ou atualizar descarta a senha permanentemente.