Gerador de senhas
Funciona inteiramente no seu navegador. Seus arquivos e dados nunca saem do seu dispositivo.
Entropia: 130 bits
Sobre esta ferramenta
Esta ferramenta monta senhas aleatórias a partir das classes de caractere que você escolher: minúsculas, maiúsculas, dígitos e símbolos. Defina um comprimento, escolha quais classes incluir e, se quiser, exclua caracteres ambíguos como 0, O, 1, l e I, fáceis de confundir na tela ou num cartão impresso. Gere uma senha ou cem de uma vez.
O quão aleatórias são as senhas?
Cada caractere é escolhido com crypto.getRandomValues() da Web Crypto API, a mesma fonte que os navegadores usam para chaves criptográficas, e não Math.random(), que não foi feito para ser imprevisível. Escolher um caractere aleatório de um conjunto que não é potência de dois é mais complicado do que parece: pegar um byte aleatório e aplicar módulo pelo tamanho do conjunto, na marra, favorece alguns caracteres em detrimento de outros. Esta ferramenta evita isso com amostragem por rejeição: sorteia bytes aleatórios e descarta qualquer valor que caia fora de um múltiplo exato do tamanho do conjunto, de modo que todo caractere do conjunto acaba com a mesma probabilidade. Depois disso os caracteres são embaralhados com um shuffle de Fisher-Yates usando a mesma fonte aleatória, mas antes a ferramenta garante pelo menos um caractere de cada classe selecionada, então uma senha com as quatro classes ligadas nunca fica sem símbolo por acidente. O indicador de entropia mostra quantos bits de aleatoriedade uma senha tem, calculado como comprimento vezes log2 do tamanho do conjunto, e serve para comparar configurações rapidamente antes de gerar.
Minha senha é enviada a algum lugar?
Não. A geração acontece inteiramente no seu navegador usando a Web Crypto API, e nada sobre o resultado, as configurações escolhidas ou a própria senha é enviado a um servidor, registrado ou armazenado em lugar nenhum. É isso que torna a ferramenta segura para senhas reais de conta, não só para dados de teste: uma ferramenta que gerasse senhas no servidor exigiria confiar que ela nunca as registra, e esta remove essa dúvida por não conversar com nenhum servidor.
Para que serve isso?
Usos comuns incluem cadastro de novas contas, credenciais de banco de dados ou serviço, chaves de API e segredos compartilhados, ou um lote de senhas descartáveis para contas de teste. Se você desligar todas as classes menos uma, ou definir um comprimento menor que o número de classes selecionadas, a ferramenta avisa em vez de gerar silenciosamente algo mais fraco do que você pediu.
Veja o NIST SP 800-63B para as diretrizes atuais sobre senhas e a referência do Crypto.getRandomValues() na MDN para entender como essa aleatoriedade é gerada.