Gerador de Senhas Fortes e Aleatórias

Você escolhe o tamanho, de 8 a 128 caracteres, e os tipos de caractere; o navegador sorteia a senha com a Web Crypto API, sem enviar nada ao servidor, para quem cria acesso de funcionário, fornecedor ou integração.

Força da Senha

Por que usar senhas fortes?

Senhas fracas são a principal causa de vazamentos de conta. Uma senha forte combina letras maiúsculas, minúsculas, números e símbolos com comprimento adequado — tornando ataques de força bruta inviáveis computacionalmente.

Web Crypto API: aleatoriedade real

Esta ferramenta usa window.crypto.getRandomValues() em vez de Math.random(). A diferença é crítica: Math.random() é pseudoaleatório e previsível; a Web Crypto API usa entropia do sistema operacional, garantindo aleatoriedade criptograficamente segura.

Como interpretar a força

Fraca: menos de 12 caracteres ou menos de 2 tipos de caracteres. Média: de 12 a 15 caracteres, ou 16 ou mais com apenas dois tipos. Forte: 16 caracteres ou mais com pelo menos três tipos ativos, o indicado para contas críticas.

Quando usar e quando não usar

Use para a senha inicial de um funcionário ou fornecedor, sempre com troca obrigatória no primeiro acesso; para a senha de uma integração, como o usuário técnico de um painel de anúncios, que vai direto para o cofre de senhas; e para substituir de vez as senhas de padrão previsível, como nome da loja seguido do ano.

Não é a melhor opção para senha que alguém precisa digitar de memória várias vezes por dia, como o login do operador de caixa. Uma sequência de 16 caracteres aleatórios vira papel colado no monitor. Nesse caso, uma frase-senha com várias palavras, que esta ferramenta não gera, costuma funcionar melhor. E, qualquer que seja a senha, não a envie pelo mesmo canal que leva o endereço de login.

Exemplo: quanto cada configuração vale

A força de uma senha aleatória é medida em bits de entropia: tamanho multiplicado pelo logaritmo na base 2 do número de caracteres possíveis. Cada bit a mais dobra o número de combinações.

  • 16 caracteres, quatro tipos ativos (88 caracteres possíveis): cerca de 103 bits. Indicador: Forte.
  • 12 caracteres, só minúsculas e números (36 possíveis): cerca de 62 bits. Indicador: Média.
  • 8 caracteres, só números (10 possíveis): cerca de 27 bits. Indicador: Fraca, e é o equivalente a um PIN longo.

Uma senha gerada com a primeira configuração tem este formato: q7#Vt]mR2;xN!4pa. A sua será outra, e é exatamente essa a ideia: a página não guarda nem repete resultados.

Como a senha é sorteada

A página monta um conjunto com os tipos marcados: 26 maiúsculas, 26 minúsculas, 10 dígitos e 26 símbolos (!@#$%^&*()-_=+[]{}|;:,.<>?, lista maior do que a indicada no rótulo da opção). Em seguida pede ao navegador tantos números aleatórios de 32 bits quanto o tamanho escolhido, por meio de crypto.getRandomValues, que usa o gerador criptográfico do sistema operacional. Cada número escolhe um caractere pelo resto da divisão pelo tamanho do conjunto.

Esse método por resto introduz uma tendência mínima a favor de alguns caracteres, da ordem de 1 em 100 milhões para o conjunto de 88, desprezível na prática. Math.random não é usado em nenhum momento, porque não foi feito para segurança. O indicador de força é uma regra simples: fraca com menos de 12 caracteres ou menos de dois tipos, forte com 16 ou mais e pelo menos três tipos, média no meio.

Limitações

  • Marcar um tipo não garante que ele apareça. Com 16 caracteres e os quatro tipos, a chance de a senha sair sem nenhum número é de cerca de 15%. Se o sistema exige dígito, confira e gere de novo.
  • O indicador conta os tipos marcados, não os que de fato estão na senha.
  • Não há opção para excluir caracteres parecidos, como 0 e O ou l, 1 e I, que atrapalham quando a senha é ditada por telefone.
  • Alguns sistemas antigos recusam símbolos como <, > e ;. Se isso acontecer, desmarque símbolos e aumente o tamanho.
  • Uma senha por vez, sem geração em lote nem frase-senha.

Privacidade

O sorteio acontece no seu navegador e nenhuma requisição é feita: a senha nunca passa pelo servidor do site. Ao copiar, ela fica na área de transferência do sistema até ser substituída, então cole no destino e copie outra coisa em seguida se o computador for compartilhado.

Para continuar

Como Armazenar Senhas de Usuários com Responsabilidade trata do outro lado do problema, o que o sistema faz com a senha recebida, e Privacidade Client-Side e LGPD explica por que processar no navegador reduz risco. Para ver essa senha virar hash, use o Gerador Argon2id ou o Gerador de Hash Bcrypt, sempre com senhas de teste.

Perguntas frequentes

A senha gerada é enviada ou salva em algum lugar?

Não. A senha é sorteada por JavaScript no seu navegador, sem nenhuma requisição ao servidor, e não é gravada. Ela só fica na área de transferência do sistema se você clicar em Copiar.

Quantos caracteres uma senha deve ter?

Para senha gerada aleatoriamente e guardada em cofre de senhas, 16 caracteres ou mais, com vários tipos de caractere. Como ninguém precisa decorá-la, o tamanho maior não custa nada. Para senha que precisa ser memorizada, uma frase com várias palavras costuma ser mais prática e igualmente forte.

Por que a senha saiu sem número mesmo com a opção marcada?

Porque cada caractere é sorteado do conjunto inteiro, sem cota por tipo. Com 16 caracteres e os quatro tipos marcados, cerca de 14% das senhas saem sem nenhum dígito. Se o sistema exige número, gere novamente até aparecer um.

Qual a diferença entre Math.random e crypto.getRandomValues?

Math.random é um gerador pseudoaleatório pensado para jogos e simulações, sem garantia de imprevisibilidade. crypto.getRandomValues usa o gerador criptográfico do sistema operacional e é o recomendado para senhas, tokens e chaves. Esta ferramenta usa apenas o segundo.

Como distribuir senhas iniciais para funcionários ou fornecedores?

Gere uma senha por pessoa, envie o endereço de acesso e a senha por canais separados, defina validade curta e exija a troca no primeiro login. Nunca use um padrão comum a todos, como nome da empresa seguido do ano.

Como Usamos Isso na NuAto

Cenário: Geração de Senhas Iniciais para 800+ Fornecedores em Portal B2B de Grande Rede de Atacarejo

No mesmo projeto de migração de hashes do portal de fornecedores da grande rede de atacarejo, enfrentamos um desafio operacional paralelo: gerar e distribuir senhas iniciais para 847 fornecedores que nunca haviam acessado o novo portal B2B. O portal dava acesso a pedidos de compra, notas fiscais e dados de contrato — informações comercialmente sensíveis. O processo anterior de criação de senhas era desastroso: a equipe de TI do cliente usava variações de Fornecedor@2024 com o nome do fornecedor concatenado, o que tornava as senhas previsíveis e facilmente guessáveis por qualquer concorrente ou funcionário desonesto que conhecesse o padrão.

Usamos o Gerador de Senha para estabelecer o novo padrão: senhas de 16 caracteres com obrigatoriedade de letras maiúsculas, minúsculas, números e símbolos (!@#$%^&*). Geramos as 847 senhas individualmente — nunca em lote — para garantir que cada fornecedor tivesse uma senha completamente única sem nenhum padrão identificável. As senhas geradas foram armazenadas temporariamente em planilha criptografada com AES-256 antes da distribuição. O protocolo de distribuição utilizou e-mail com TLS obrigatório: a senha era enviada em e-mail separado do link de primeiro acesso, com validade de 48 horas e obrigatoriedade de troca no primeiro login.

A distribuição levou 3 dias úteis e 100% dos fornecedores ativos (791 dos 847 — os 56 restantes tinham cadastro desatualizado) acessaram o portal e trocaram a senha dentro do prazo. O relatório de auditoria pós-implantação não identificou nenhuma tentativa bem-sucedida de acesso não autorizado nos primeiros 6 meses. A equipe de TI do cliente adotou o protocolo de geração via ferramenta como padrão permanente para novos cadastros, eliminando o padrão previsível anterior.

Para qualquer portal B2B de varejo com acesso a dados comerciais sensíveis, a qualidade da senha inicial é tão crítica quanto a do hash que a armazena. Senhas fracas distribuídas em massa são uma vulnerabilidade sistêmica que pode comprometer toda a cadeia de suprimentos — não apenas um fornecedor individual.