Gerador de senhas
Criptograficamente seguro // v1.0
Intervalo: 4-64
Intervalo: 1-10
Aguardando entrada...
O que é um gerador de senhas aleatórias?
Um gerador de senhas aleatórias monta uma senha tirando caracteres com probabilidade uniforme dentro dos conjuntos que você permite. O RandomHub usa a Web Crypto API criptograficamente segura do navegador (window.crypto.getRandomValues) e amostragem por rejeição para evitar viés por módulo — a mesma fonte de aleatoriedade em que os principais gerenciadores de senhas se apoiam. Você decide o comprimento (de 4 a 64 caracteres), quais conjuntos entram (maiúsculas, minúsculas, dígitos, símbolos) e se exclui caracteres visualmente ambíguos (l, 1, I, O, 0). Toda a geração acontece no navegador; a senha não vai pela rede e não fica em nenhum log.
Para quem é este gerador?
Quem se importa com privacidade
Você cuida das suas credenciais e prefere um gerador que roda no cliente e pode ser auditado, em vez da caixa-preta de um fornecedor que diz "confia".
Admins de TI e sistemas
Contas de serviço, passphrases para chaves SSH, sementes de banco de dados, credenciais pontuais para um novo membro do time. Com teto de 64 caracteres cobre quase tudo, exceto chaves de entropia plena.
Pessoas desenvolvedoras
Segredos descartáveis para ambientes de dev, fixtures de teste, fluxos de auth simulados, dados de exemplo — quando abrir uma aba pesa menos que invocar `pwgen` ou `openssl rand`.
Mães, pais e responsáveis
Conta para uma criança que nunca precisou decorar senha forte. Gere sem caracteres ambíguos — assim dá para ditar e digitar sem se confundir.
Self-hosters
Subindo um Vaultwarden, Nextcloud, Postgres ou painel admin próprio e precisando de credenciais novas antes de plugar o gerenciador. Gera, cola, segue.
Quando o gerador embutido trava
Alguns gerenciadores escondem o gerador atrás de menus ou extensões que falham justamente na hora do cadastro. Uma ferramenta independente e confiável tira essa fricção exatamente nesse instante.
Por que este gerador
Fonte aleatória criptográfica
Os bytes vêm de window.crypto.getRandomValues — a Web Crypto API, a mesma que 1Password, Bitwarden e navegadores modernos usam para os geradores deles. Math.random não aparece em lugar nenhum.
Sem viés por módulo
A abordagem ingênua `random % poolSize` favorece os índices baixos quando o tamanho do pool não divide a fonte de forma exata. Aplicamos amostragem por rejeição sobre Uint32 para cada caractere ter a mesma probabilidade.
Medidor de força em bits reais
Entropia = comprimento × log₂(tamanho do pool), a fórmula clássica. Faixas: fraca <40 bits, razoável 40–63, forte 64–95, fortaleza 96+. Dá para ver imediatamente se a configuração atinge o alvo.
Continua dentro do navegador
Nenhum request de rede acontece quando você gera. Sem logs, sem armazenamento, sem envio, sem análise. Abra as DevTools, clique em Gerar — a aba Network continua quieta.
Cenários comuns com exemplos
Senha nova para um site bancário
Cadastro em um serviço bancário ou público que não aceita símbolos. Comprimento 20, conjuntos Maiús / Minús / Dígitos, símbolos desativados, caracteres ambíguos excluídos — a senha se lê bem num recibo impresso.
Configuração: comprimento 20, Maiús+Minús+Dígitos, Excluir ambíguos. Exemplo: "Tyek5JWXcbgjLE2EH3vk" — 20 × log₂(58) ≈ 117 bits, dentro da zona fortaleza, alfanumérico puro.
Passphrase para uma chave SSH
Sua chave privada precisa de uma passphrase que você digita de memória uma vez por dia. Comprimento 24, todos os conjuntos, ambíguos incluídos — alta entropia e legibilidade. Salva no gerenciador e para de tentar lembrar.
Configuração: comprimento 24, todos os conjuntos, Excluir ambíguos desligado. Exemplo: "K9$mZ#7vTq!4nL@8pR2&yX#W" — 24 × log₂(76) ≈ 150 bits. Mais resistente do que a própria chave que protege.
Conta de teste descartável
Precisa de senha para uma conta temporária durante o desenvolvimento. Comprimento 12, minúsculas + dígitos basta; a conta vai sumir em uma hora.
Configuração: comprimento 12, só Minús+Dígitos. Exemplo: "k7vmqr3z9fnp" — 12 × log₂(36) ≈ 62 bits. Faixa "razoável", suficiente para um descartável de 60 minutos.
Senha pra ditar num quiosque compartilhado
Uma pessoa dita, outra digita. Excluir os caracteres ambíguos (l minúsculo, I maiúsculo, 1, O maiúsculo, 0) — derruba quase todos os erros de transcrição.
Configuração: comprimento 16, Maiús+Minús+Dígitos, Excluir ambíguos ligado. Exemplo: "RvkP4hgWmFu82tNz" — 16 × log₂(58) ≈ 94 bits. Quase fortaleza, legível mesmo num ambiente barulhento.
Como usar
- 1.
Definir o comprimento
De 4 a 64. 16 é um padrão sólido para a maioria das contas; 24+ para passphrases SSH ou contas root auto-hospedadas.
- 2.
Escolher conjuntos
Liga e desliga Maiúsculas, Minúsculas, Dígitos, Símbolos. Cada conjunto ativo amplia o pool e aumenta a entropia por caractere. A saída garante pelo menos um caractere de cada conjunto ativo.
- 3.
Resolver sobre os ambíguos
Desligado (padrão): l, 1, I, O, 0 ficam no pool — um pouquinho mais de entropia. Ligado: filtrados — a senha fica mais fácil de ditar e transcrever.
- 4.
Gerar e copiar
Botão Gerar ou Enter. Cada senha tem um botão de cópia próprio; "Copiar tudo" funciona quando você gera várias (1 a 10 de uma vez). "Mostrar / Ocultar" ajuda a esconder de olhares ao redor quando você gera em público.
Perguntas frequentes
Esse gerador é realmente seguro?
A aleatoriedade vem de window.crypto.getRandomValues — a Web Crypto API, a mesma fonte que 1Password, Bitwarden e navegadores modernos usam nos geradores próprios. Amostragem por rejeição remove o viés por módulo. A geração ocorre totalmente no cliente: abre as DevTools, clica em Gerar, e dá para ver que não há tráfego de rede.
O que é "viés por módulo" e por que importa?
O caminho ingênuo gera um inteiro aleatório de 32 bits e aplica `n % poolSize`. Quando o tamanho do pool não divide 2³² de forma exata, alguns índices acabam ficando levemente mais prováveis. Em senhas, isso é vazamento de entropia. Descartamos amostras que caem na cauda desbalanceada e tiramos de novo — cada caractere continua equiprovável.
Como a força em bits é calculada?
Entropia = comprimento × log₂(tamanho do pool). Uma senha de 16 caracteres só com minúsculas+dígitos: 16 × log₂(36) ≈ 83 bits. Mesmo comprimento com os quatro conjuntos e sem filtro de ambíguos: 16 × log₂(94) ≈ 105 bits. Limiares: fraca <40, razoável 40–63, forte 64–95, fortaleza 96+.
Por que excluir caracteres ambíguos?
l, 1, I, O, 0 se parecem em muitas fontes. Filtrar ajuda quando a senha vai ser lida em voz alta, copiada para papel, ditada por telefone ou exibida num display de quiosque. O custo é um pool levemente menor, com um pouquinho menos de entropia por caractere — quase sempre um troco que vale.
As senhas são salvas ou enviadas pra algum lugar?
Não. A geração roda em JavaScript no navegador. A página não faz request quando você clica em Gerar. Nada é logado, armazenado, transmitido ou analisado. Mesmo se você pedir para recuperar uma senha gerada, não dá — não fica registro em nenhum canto.
Por que o mínimo é 4 e não 8?
Para a maioria das contas você deve usar 12+. O mínimo 4 existe porque há usos legítimos tipo "PIN" (código de porta, PIN de app, jogos de sala de aula) em que uma string curta numérica ou alfabética é exatamente o que se quer. O medidor de força avisa quando a entropia está baixa.
Que símbolos entram quando "Símbolos" está ligado?
O conjunto é `!@#$%^&*()-_=+[]{};:,.<>?/` — 26 caracteres. Excluímos de propósito os que costumam quebrar validação de formulário (barra invertida, aspas simples e duplas, crase, espaço), para a senha funcionar no maior número possível de cadastros.
Dá para gerar uma passphrase tipo "correct horse battery staple"?
Hoje não — o RandomHub gera senhas em nível de caractere. Passphrases estilo Diceware precisam de uma lista curada de palavras e são uma ferramenta diferente. Se a página fizer sentido, vai aparecer como página separada.
Sobre senhas aleatórias fortes
A resistência de uma senha contra força bruta cresce exponencialmente com a entropia medida em bits. Uma senha de 12 caracteres tirados dos 94 ASCII imprimíveis carrega cerca de 79 bits — já além do que um atacante offline consegue quebrar com um orçamento de hardware razoável, desde que o hash esteja devidamente esticado. 16 caracteres dão por volta de 105 bits, e 24 caracteres por volta de 158, bem acima do nível prático de segurança do AES-128. A lição da última década de pesquisa em senhas é direta: comprimento conta mais que diversidade de classes. Acrescentar um símbolo a uma senha de 10 caracteres rende menos do que estender a mesma senha para 14 caracteres dentro de uma classe menor. Os padrões do RandomHub — comprimento 16, quatro conjuntos, sem filtro de ambíguos — pousam confortavelmente na zona fortaleza para a maioria dos modelos de ameaça. A ferramenta é propositalmente enxuta: aleatoriedade criptográfica, comprimento e conjuntos configuráveis, um medidor de entropia honesto, e mais nada. Se houver um recurso que melhoraria claramente o fluxo sem ferir a garantia "fica no navegador", manda um e-mail.
Ferramentas relacionadas
Ferramentas relacionadas
Continue com ferramentas para aulas, jogos, escrita, planejamento e decisões rápidas.