Gerador de Senhas

Gere senhas aleatórias fortes com comprimento e conjuntos de caracteres personalizáveis — usando a aleatoriedade criptográfica do seu navegador.

1.321 visualizações

Como Funciona

A força de uma senha não é aditiva, é exponencial: o número de combinações possíveis equivale ao tamanho do conjunto de caracteres elevado à potência do comprimento (conjunto^comprimento), e é esse expoente que torna o comprimento a maior alavanca isolada disponível. Uma senha de 8 caracteres usando apenas letras minúsculas é extraída de um conjunto de 26 caracteres, o que dá 26^8 — cerca de 208 bilhões de combinações possíveis, o que parece muito até que o hardware moderno teste bilhões de tentativas por segundo. Adicione maiúsculas, dígitos e símbolos e estenda o comprimento para 12 caracteres, e o conjunto cresce para cerca de 95 caracteres, dando 95^12 — na ordem de 540 sextilhões (5,4 × 10^23) de combinações. Essa não é uma melhoria modesta; é muitas ordens de grandeza maior, porque cada caractere extra multiplica em vez de somar ao total. Exemplo concreto: passar de uma senha de 8 caracteres só minúsculas para uma de 12 caracteres com os quatro tipos de caractere não apenas dobra a segurança, mas desloca o tempo de força bruta de "quebrável em um período razoável" para "muito além de qualquer ataque realista, mesmo contra hardware futuro".

Este gerador escolhe cada caractere usando crypto.getRandomValues — o gerador de números aleatórios criptograficamente seguro do navegador — em vez de Math.random(). Essa distinção importa: Math.random() é um gerador pseudoaleatório rápido e previsível, pensado para animações e jogos, e seu estado interno pode em alguns casos ser reconstruído a partir da saída observada, o que o torna inadequado para qualquer coisa relacionada à segurança. crypto.getRandomValues extrai da fonte de entropia criptográfica do sistema operacional, projetada especificamente para ser imprevisível mesmo para um atacante que já tenha visto saídas anteriores.

O Que é Preciso Saber

O comprimento vence a complexidade quase sempre. Uma senha de 16 caracteres usando apenas minúsculas (26^16) é matematicamente muito mais forte do que uma senha de 8 caracteres misturando todos os tipos de caractere (95^8), simplesmente porque o expoente domina a base. Ao escolher entre uma senha mais longa e simples ou uma mais curta e complexa, escolha a mais longa.

A senha nunca sai do seu dispositivo: é gerada inteiramente no seu navegador e esta ferramenta não transmite, registra nem armazena nada em nenhum servidor. Atualizar ou fechar a página a destrói completamente, e é exatamente por isso que ela deve ser copiada diretamente para um gerenciador de senhas em vez de ficar na tela ou em um arquivo de texto.

Reutilizar a mesma senha em várias contas transforma um único vazamento de dados em vários. Se o banco de dados de um site vaza — e vazamentos acontecem até com serviços cuidadosos e bem administrados — toda outra conta que compartilha essa senha fica vulnerável no momento em que a lista de senhas vazadas começa a circular. Uma senha única e gerada por site, guardada em um gerenciador de senhas, limita o dano de qualquer vazamento único àquela conta.

Perguntas Frequentes

Quantos caracteres minha senha deve ter?

Pelo menos 12 para contas comuns e 16 ou mais para as críticas (e-mail, banco). Comprimento vale mais que complexidade: uma senha de 16 letras minúsculas é mais forte que uma de 8 com símbolos.

A senha gerada é enviada para um servidor?

Não. Ela é produzida inteiramente no seu dispositivo pela API crypto.getRandomValues do navegador e nunca sai dele. Atualizar a página a destrói.

Posso usar a mesma senha em vários sites?

Nunca. Um vazamento em um site exporia todas as suas contas. Gere uma senha única por site e guarde-as em um gerenciador de senhas.

Por que adicionar mais um caractere ajuda mais do que adicionar um símbolo?

Porque o comprimento é um expoente e a variedade de caracteres é apenas a base. Adicionar um caractere ao comprimento multiplica o número total de combinações pelo tamanho completo do conjunto de caracteres; adicionar mais um tipo de símbolo aumenta a base apenas em algumas unidades. Em qualquer comprimento de senha realista, o aumento de comprimento vence por uma margem ampla.

O Math.random() já não é aleatório o suficiente?

Para jogos ou animações, sim — mas é um gerador pseudoaleatório rápido, não criptográfico, e sua saída pode em algumas circunstâncias ser prevista ou reconstruída. A geração de senhas precisa do crypto.getRandomValues, a fonte criptograficamente segura do navegador, que esta ferramenta usa exclusivamente.

Comentários

Ainda não há comentários — seja o primeiro a escrever um!

Ferramentas Semelhantes