Roda no seu navegador

Gerador de Frases-senha

Palavras que você consegue lembrar, e um gerenciador de senhas para o resto

Repetir senhas e anotar em um papel avulso definitivamente não são formas seguras de guardar senhas para seus aplicativos e perfis na internet. Esta ferramenta pretende te dar a solução adequada: utilize-a junto com um gerenciador de senhas, você estará definitivamente mais seguro.

Idioma das palavras

Seis é a escolha comum. Cinco ainda dá e sobra. Quatro não dá, e por isso o controle começa em cinco.

Isso não deixa a frase mais difícil de adivinhar. Escolha o que for mais fácil de ler e digitar.

Cerca de 77,5 bits de entropia

sorteadas de 7776 palavras a 12,925 bits por palavra

Bits contam tentativas, e cada bit a mais dobra esse total. A tabela mais abaixo traduz esse número em algo que dá para imaginar: anos.

Duas coisas que funcionam juntas

Conte as senhas que você digita de memória. Duas ou três, provavelmente: o notebook, o celular, talvez uma conta em que você entra em todo lugar. Agora conte quantas contas você tem. Gerenciador de senhas é um aplicativo que guarda todas elas em um arquivo trancado. Uma das empresas que vendem esses aplicativos diz que a média é 168, número conveniente para quem vive disso, mas ninguém discute seriamente que seja menos de cem. Qualquer que seja o seu número de verdade, você não está inventando essa quantidade de senhas. Ninguém está. Elas vêm de algum lugar, e na maioria dos casos vêm de um punhado de senhas reaproveitadas em tudo. Fonte: NordPass, 2024

Me fala a verdade: você reutiliza a mesma senha na maioria das suas contas na internet, certo? Se eu estiver certo, você provavelmente não tem noção do risco que isso traz.

Uma senha que você inventou é uma senha que outra pessoa consegue adivinhar. E não é na mão. Existem programas que testam milhões de candidatas uma atrás da outra, e eles não começam em aaaa e buscam todas as variações em ordem. Começam pelas listas de senhas que as pessoas escolhem de verdade, que abrem com 123456. Depois percorrem listas de palavras: todas as palavras do idioma, mais nomes, times, bandas e filmes. Cada uma também é testada com os disfarces óbvios. Uma maiúscula na frente. Um número e um símbolo no fim. Um o escrito como zero. P@ssw0rd!23 não é uma senha esperta; é a primeira página do manual. Fonte: as senhas mais comuns, NordPass

Repetir uma senha é pior, e é o perigo que as pessoas menosprezam. Não precisa adivinhar nada. Quando uma empresa é invadida, os pares de e-mail e senha que ela perde são testados automaticamente em centenas de outros sites, e toda conta que usava aquela senha se abre. Isso custa quase nada para o atacante, e dá o mesmo trabalho se dez contas baterem ou se dez mil baterem. Não importa o quanto a senha era forte. Vinte caracteres que você usou duas vezes são vinte caracteres que outra pessoa já tem. E não é você em particular que está sendo atacado: você é uma linha numa lista de milhões, e essa lista continua sendo testada por anos depois do vazamento que a produziu.

Onde você guarda as senhas pesa tanto quanto, e nenhum dos lugares de costume fica trancado: um aplicativo de notas, uma planilha, um arquivo de texto na área de trabalho, um e-mail para você mesmo. Qualquer coisa que consiga ler os seus arquivos consegue ler as suas senhas, e o malware que rouba senhas procura exatamente esses arquivos. Nos dados da Verizon de 2025, mais da metade das vítimas de ransomware já tinha as senhas em registros roubados antes de o ataque começar. Fonte: Verizon DBIR 2025

Então são duas coisas para resolver, e esta página resolve a menor. Ela cria as duas ou três senhas que você guarda na cabeça, e elas saem como palavras sorteadas, tipo ridge-dolphin-sober-mango-piano. Ninguém escolheu essas palavras, nem você. É esse o truque inteiro.

Para todas as outras, use um gerenciador de senhas. Ele inventa uma senha diferente para cada site e lembra de todas, para você não precisar lembrar de nenhuma. O Bitwarden é gratuito e de código aberto, o KeePassXC guarda tudo no seu próprio disco se você preferir ficar longe da nuvem, e o 1Password e o Proton Pass também dão conta.

Você também pode usar esta página para elas. Gere uma frase-senha aqui, cole no gerenciador como a senha daquele site e deixe o gerenciador lembrar dela daí em diante. Vale a pena fazer isso nas contas que você às vezes digita na mão: uma TV, um videogame, um celular sem preenchimento automático. Quarenta caracteres aleatórios no controle da TV é castigo; seis palavras não. Para todo o resto, o gerador do próprio gerenciador serve, porque você nunca vai nem ver essas senhas.

Isso não coloca tudo atrás de uma senha só? Coloca. Uma senha da qual você realmente lembra vale mais do que cem que você reaproveita. O arquivo que o gerenciador guarda fica trancado com ela, então um ladrão que leve o arquivo ainda precisa adivinhá-la. Todo o peso cai sobre essa senha só, e é disso que trata o resto desta página.

O que acontece quando isso dá errado

Nenhum desses três é teoria. Quatro casos que vale a pena conhecer:

  • RockYou, 2009 Uma empresa chamada RockYou guardava 32 milhões de senhas em texto puro e perdeu todas elas em uma única invasão. A lista do que as pessoas tinham escolhido de verdade virou o rockyou.txt, que vem junto com o Kali Linux e ainda é a primeira coisa que um programa de quebra de senhas usa. Senhas escolhidas em 2009 são os primeiros palpites mirados em você hoje.
  • 23andMe, 2023 Ninguém invadiu a 23andMe. Os atacantes entraram como se fossem cerca de 14 mil pessoas, uma conta por vez, usando senhas que essas pessoas já tinham usado em sites invadidos antes. Lá dentro, um recurso de compartilhamento de perfil alcançou dados de cerca de 6,9 milhões de pessoas. Depois a empresa aceitou pagar 30 milhões de dólares em um acordo. Sem brecha explorada e sem código esperto: catorze mil portas da frente, abertas com chaves que já estavam largadas por aí.
  • Dropbox, 2012 Um funcionário usava a senha do LinkedIn também no trabalho, o LinkedIn foi invadido, e 68 milhões de registros de contas do Dropbox saíram do prédio atrás dessa única senha.
  • Snowflake, 2024 Aqui também ninguém adivinhou nada. Os atacantes usaram senhas que um malware tinha recolhido em silêncio dos computadores das próprias pessoas, parte dele rodando desde 2020, e entraram nas contas de nuvem de cerca de 165 empresas. Só a Ticketmaster perdeu 560 milhões de registros de clientes.

Dois desses quatro foram repetição de senha e nada mais. Os outros dois não passaram por adivinhar a senha de ninguém. O RockYou entregou os palpites para todo mundo que veio depois, e os atacantes do Snowflake leram as respostas nos próprios computadores das pessoas.

No mesmo relatório da Verizon, as senhas roubadas aparecem em primeiro lugar na lista de portas de entrada, pelo segundo ano seguido.

O gerenciador é o que acaba com a repetição. Cada site ganha uma senha diferente e você nunca precisa lembrar de nenhuma, o que tira da mesa os dois casos de repetição acima. O que ele não consegue fazer é proteger a senha que abre o próprio gerenciador, porque essa não pode ficar guardada dentro dele. A chave não cabe dentro da caixa que ela tranca, e o login do seu computador e o do seu celular estão na mesma situação. Sobram duas ou três senhas que precisam ser fáceis de lembrar e difíceis de adivinhar ao mesmo tempo. Em geral as pessoas resolvem isso com o nome de um bicho de estimação e um ano. Palavras sorteadas resolvem do outro jeito, e essa é a única razão para esta página existir ao lado do conselho de instalar um gerenciador, em vez de no lugar dele.

O que fazer hoje:

  1. Instale um gerenciador de senhas.
  2. Crie a senha mestra dele aqui, com seis palavras. Anote num papel até decorar, depois destrua o papel.
  3. Deixe o gerenciador trocar as suas senhas repetidas aos poucos, alguns sites por vez. Comece pelo e-mail, depois por qualquer coisa que envolva dinheiro.
A versão técnica: por que a repetição é o erro caro

O ataque que leva uma senha vazada para as suas outras contas tem nome: credential stuffing. Um gerenciador de senhas é o único controle que acaba com ele, porque cada senha que ele cria já nasce diferente. Tudo, fora as duas ou três que você digita de memória, fica nele. A maioria delas pode ser uma sequência aleatória longa que você nunca vai olhar; a exceção é uma conta que você ainda precisa digitar na mão, onde uma frase-senha é mais gentil e não é mais fraca do que o site permite.

A orientação atual não é só um conselho nesse ponto. O NIST SP 800-63B-4 §3.1.1.2 usa SHALL — obrigatório — para permitir o uso de gerenciadores de senhas, e SHOULD — recomendado — para permitir colar no campo de senha. Um site que bloqueia qualquer um dos dois está descumprindo a norma; não está sendo cauteloso.

Palavras ou caracteres aleatórios?

O seu gerenciador de senhas inventa xK7#pLm2$vQ9 com a mesma facilidade com que esta página inventa seis palavras, e para toda senha que ele digita no seu lugar essa é a melhor resposta. É mais curta, e você nunca precisa olhar para ela.

As poucas que você digita você mesmo são outro problema. Seis palavras desta página valem o mesmo que 12 daqueles caracteres, sorteados do mesmo jeito, pelo mesmo tipo de gerador de números aleatórios. Nenhuma das duas é adivinhável. Só uma delas cabe na sua cabeça, dá para ditar para alguém por telefone ou digitar no controle da TV sem errar três vezes. Custa mais teclas e poupa a consulta.

E tem uma senha que nenhum gerenciador pode criar para você, seja qual for o gerador que você prefira: a que abre o próprio gerenciador. Ela precisa existir antes do cofre, e não pode ficar guardada dentro da coisa que ela destranca. O login do seu computador e o do seu celular estão na mesma situação.

Alguns gerenciadores têm um modo de frase-senha próprio, e é um modo bom. Use, se o seu tiver. Esta página mostra a conta em vez de um botão de configuração, e funciona antes de você ter instalado qualquer coisa.

A versão técnica: a conta por trás dessa comparação

Uma sequência aleatória sobre os 95 caracteres ASCII imprimíveis carrega log2(95) bits por caractere, então 77,5 bits são 12 caracteres. Por tecla digitada os caracteres ganham de longe, já que uma frase de seis palavras é duas a três vezes mais comprida de digitar. Por unidade de memória humana eles perdem feio, e memória é a única moeda que importa para um segredo que ninguém pode consultar no seu lugar.

Isso pressupõe que o gerador do gerenciador esteja com todas as classes de caracteres ligadas. Desligue os símbolos e o alfabeto cai para 62, o que custa um ou dois caracteres a mais para carregar a mesma entropia. A direção do argumento não muda. O que mudaria é um site com limite de tamanho: em dezesseis caracteres uma frase-senha não cabe, e uma sequência aleatória é a única coisa que serve.

Quantas palavras eu devo escolher?

Seis, a não ser que você tenha um motivo para escolher diferente. É onde esta página começa, e é o que as pessoas que inventaram esse método recomendam para qualquer coisa que você chamaria de importante.

Cinco ainda dá e sobra, então fique com cinco se seis parecer muita coisa para guardar na cabeça. Quatro é onde deixa de ser seguro, e é por isso que o controle não vai até lá.

Esse limite de baixo mudou enquanto eu montava a página. Eu tinha deixado em seis palavras e só baixei para cinco depois de fazer as contas da tabela abaixo. Cinco palavras sobrevivem por milhares de anos a toda linha que guarda a senha do jeito certo. Quatro não aguenta quinze minutos contra a primeira linha. É essa a razão inteira do limite.

A versão técnica: os bits por trás desses dois números

Na prática: com 77,5 bits ninguém adivinha a sua frase, e com quatro palavras alguém pode. O tamanho dessa distância depende quase só de como o site onde você entrou guardou a sua senha, e é para isso que serve a tabela abaixo. É também o motivo pelo qual o controle não desce abaixo de cinco.

O limite de cima, dez, eu defendo com menos convicção. Dez palavras já passam de longe qualquer coisa que um atacante alcance, então o único argumento a favor é que algumas pessoas gostam de uma margem extra, e o argumento contra é que ninguém vai digitar dez palavras de novo. Deixei em dez, e me convenço fácil do contrário.

Quanto tempo um ataque leva de verdade

Leia uma linha assim. Uma empresa onde você tem conta é invadida. O atacante leva o arquivo com as senhas de todo mundo e passa a tentar adivinhar a sua dia e noite, em máquinas alugadas. Quanto tempo isso leva depende do cuidado que a empresa teve ao guardar esse arquivo, e a diferença entre cuidado e descuido é enorme.

{# No localize-off here: the row labels and cells are formatted in Python with the active locale, so a dot in the bits column beside "3,8 milhões de anos" in the cells put two conventions in one table. #}
Tempo médio para adivinhar uma frase-senha deste gerador
Como o site guardou a sua senha 4 palavras 51,7 bits 5 palavras 64,6 bits 6 palavras 77,5 bits
Guardada sem cuidadoNTLM, sem sal — o que o NIST proíbe 13 minutos71 dias1.500 anos
Guardada de forma fraca, como contas reais já foramPBKDF2-SHA256, 500 iterações — os cofres mais fracos do LastPass em 2022 149 dias3.200 anos25 milhões de anos
Guardada do jeito certo, como um gerenciador de senhas fazPBKDF2-SHA256, 600.000 iterações — o padrão do Bitwarden 490 anos3,8 milhões de anos30 bilhões de anos
Guardada do jeito certo, como nós fazemosPBKDF2-SHA256, 1.000.000 iterações — o padrão do Django 820 anos6,4 milhões de anos49 bilhões de anos
Guardada com uma receita lenta de propósitobcrypt, custo 12 — o hasher bcrypt do Django 5.000 anos39 milhões de anos300 bilhões de anos

A primeira linha é uma empresa que guardou as senhas mal. Todas as linhas abaixo dela fizeram alguma coisa para atrasar um ladrão, e quanto mais para baixo você lê, mais elas fizeram. Contra todas elas, cinco palavras aguentam milhares de anos ou mais. Quatro palavras aguentam treze minutos na linha do descuido. Esse é o argumento inteiro para o mínimo ser cinco.

A versão técnica: o atacante, as taxas e as fontes

Um atacante, descrito por inteiro: 8 RTX 4090, ou seja, uma máquina que se aluga por hora e não um governo, adivinhando offline contra um banco de senhas roubado. Esse atacante tem as duas listas, sabe quantas palavras você pediu e sabe qual separador você escolheu. Todos os números são médias: metade do espaço de chaves, porque um ataque de adivinhação encontra o segredo médio na metade do caminho. As taxas são os resultados de benchmark publicados do hashcat para essa placa, e as duas linhas do Django leem as configurações de hasher desta instalação, em vez de um número que eu digitei.

A primeira linha é a única em que quatro palavras perdem de vez, e também é a única que descreve um armazenamento contra as regras: desde 2017 o NIST exige que senhas guardadas recebam sal e hash por um esquema de hash de senha de verdade, com o maior fator de custo que o verificador aguentar. Aquela linha não é um site atrasado nas atualizações, é um site fora de conformidade. As últimas linhas passam da idade do universo; elas estão na tabela para mostrar onde os números deixam de significar alguma coisa, não porque eu espere que alguém deixe a máquina ligada por tanto tempo.

A segunda linha é a que sustenta o mínimo, e ela não é hipotética. Quando o LastPass perdeu os backups criptografados dos cofres em 2022, algumas contas ainda derivavam a chave com 500 iterações de PBKDF2, porque aumentar o padrão em 2018 nunca migrou as contas que já existiam. Esse é o armazenamento de senha mais fraco que eu consigo apontar dentro de um produto de segurança, e cinco palavras ainda o seguram por milhares de anos. Senhas mestras foram quebradas a partir daqueles dados e cofres foram esvaziados; nenhuma delas era cinco palavras aleatórias.

Entre essas duas linhas fica o que a maioria dos sites faz de fato. Um levantamento de plataformas web de código aberto encontrou pouco menos da metade dos frameworks de aplicação com bcrypt por padrão, e quase todo o resto em PBKDF2 ou em alguma variante de SHA-2 com sal; os sistemas de gestão de conteúdo se saíram pior. Hash rápido sem sal é a exceção nesses dados, não o cara ou coroa que eu supunha antes de ir procurar.

Então cinco palavras é o mínimo e seis é o padrão, e a diferença entre os dois não é preciosismo. Todas as linhas com sal dão a cinco palavras milhares de anos ou mais. Seis é o que o autor do Diceware recomenda como mínimo para criptografia de arquivos desde os anos 1990, é o que a EFF repetiu quando publicou a lista que esta página usa, e é o número que eu escolheria para a senha mestra de um gerenciador: custa uma palavra a mais e multiplica todos os números daquela linha por 7776. Quatro está na tabela para você ver o número de que o controle está te protegendo, em vez de acreditar em mim quando digo que é pouco.

De onde vêm esses números:

O que significa “bits de entropia”

Pense em dados. Um dado tem seis faces, dois dados têm 36 combinações, três têm 216. Bits são a mesma ideia em outra unidade: cada bit dobra o número de possibilidades. Dez bits é cerca de mil, vinte bits é cerca de um milhão, e trinta é cerca de um bilhão.

Cada palavra que você acrescenta multiplica esse conjunto pelo tamanho inteiro da lista. É para isso que serve a segunda linha do indicador: 12,925 bits por palavra em inglês. Uma palavra a mais rende mais do que qualquer quantidade de pontuação.

A versão técnica: o que o número descreve, e o que ele não descreve

Cada bit dobra alguma coisa. Duas possibilidades com um bit, 1.024 com dez, cerca de um milhão com vinte. O 77,5 lá em cima é a mesma escala: o tamanho do conjunto de onde esta frase saiu, escrito como potência de dois.

Esta é a parte que eu levei mais tempo para fixar. O número descreve como a frase foi escolhida, não a frase. Faça a medição que quiser em correct-horse-battery-staple; nenhuma devolve um número de bits. O valor existe porque o sorteio foi uniforme sobre uma lista de tamanho conhecido, e por nenhum outro motivo. Peça a uma pessoa seis palavras aleatórias e o número desaba. Ela recorre a substantivos concretos, evita repetir e escolhe dentro dos poucos milhares de palavras de que gosta.

Nada é salvo, e você pode verificar isso

A frase é criada dentro do seu navegador e nunca é enviada para mim. Ela não está nos registros do meu servidor, nem nas minhas estatísticas de acesso, nem em nada que fique entre você e esta página, porque ela nunca viajou.

Abra as ferramentas de desenvolvedor, olhe a aba de rede e aperte o botão. Nada sai, e conferir isso leva dez segundos, em vez de acreditar em mim. O que carrega, antes de você apertar qualquer coisa, é o que toda página daqui carrega: os arquivos das listas de palavras, uma folha de estilo e ícones de um CDN, mais as estatísticas de acesso que contam a visita. Nenhum deles recebe a frase, porque a frase é criada depois de tudo isso e fica na aba.

Suas preferências — quantidade de palavras, separador, idioma — ficam no armazenamento local deste navegador para a página lembrar delas. A frase-senha em si nunca é escrita ali.

A versão técnica: de onde vem o sorteio

Toda frase-senha daqui é produzida no seu navegador pelo crypto.getRandomValues(). Ela nunca é enviada a lugar nenhum, então nunca chega aos meus registros de acesso, às minhas estatísticas, nem aos registros do que quer que esteja na frente deste site. Um valor que atravessa a rede não pode honestamente ser chamado de não salvo, e é por isso que não existe versão desta funcionalidade no servidor.

Isso tem um limite, e vale dizer qual em vez de deixar você descobrir sozinho. A frase só fica na aba enquanto a página que chegou até você for a página que eu publiquei. Tudo que roda neste documento compartilha a mesma origem da caixa onde a frase aparece e poderia ler o que está nela: o meu próprio script, a folha de estilo, o código de estatísticas. Os dois arquivos vindos de CDN estão fixados por subresource integrity, então uma cópia modificada é recusada pelo seu navegador em vez de executada. O código de estatísticas não pode ser fixado desse jeito, e este site ainda não tem Content-Security-Policy, que é a próxima coisa que eu arrumaria. Se você preferir não depositar essa confiança, as quatro linhas de Python que esta página usa como alternativa sem JavaScript fazem o mesmo trabalho offline, e as duas listas de palavras podem ser baixadas em /static/blog/wordlists/.

As listas de palavras são públicas de propósito

Qualquer pessoa pode baixar as duas listas, e isso não tira nada. A força está no sorteio, não em manter a lista em segredo. São 7776 palavras por idioma, e cada uma tem exatamente a mesma chance de ser sorteada. Se esconder a lista fosse o que protege você, a proteção seria imaginária.

A versão técnica: o que a conta de entropia pressupõe, e de onde vêm as listas

Parta do princípio de que um atacante tem as duas listas, sabe o tamanho delas e sabe quantas palavras e qual separador você escolheu. O número de entropia acima é calculado sob essa suposição, e é isso que o torna um número real. A força vem do sorteio uniforme. Esconder a lista só impediria você de conferir a aritmética.

A lista em inglês é a EFF long list, 7776 palavras, usada sem alteração. A lista em português foi construída no mesmo tamanho a partir de uma lista de frequência cruzada com um dicionário de português, depois filtrada por tamanho, por uma lista de bloqueio e contra qualquer palavra que seja outra entrada mais uma letra no final. Tamanhos iguais significam entropia igual, então seis palavras valem 77,5 bits em qualquer um dos dois idiomas.

Fontes e licenças: a lista em inglês é EFF long wordlist (eff_large_wordlist.txt), usada sob CC BY 3.0 US. A lista em português é construída por scripts/build_wordlists.py a partir de fontes sob MIT + LGPL-3.0; o script fixa cada fonte por SHA-256 e consegue reconstruir as duas listas para provar que os arquivos versionados batem.

Por que as palavras em português não têm acento

A lista em português é escrita sem acentos: coracao, e não coração. Quando você salvar uma, copie e cole em vez de redigitar. E se for uma frase que você vai digitar de memória, lembre que ela não tem acento nenhum. Se você digitar a versão acentuada, ela não vai bater com a que você salvou, mesmo que as duas pareçam idênticas na tela.

A versão técnica: duas grafias que parecem idênticas

As palavras em português não têm acento: coracao, não coração. coração pode ser codificado de duas formas que parecem idênticas na tela — uma com um único ç, outra com um c seguido de uma cedilha combinante — e são sequências de bytes diferentes. Algoritmos de hash de senha comparam bytes, e o Django não normaliza antes de gerar o hash, então a mesma frase salva de um jeito e digitada do outro não vai bater. Tirar os acentos deixa uma grafia e uma codificação por frase. Também deixa um erro de ortografia: digite coracao de memória e você vai puxar a forma acentuada, e vai falhar. Copie a frase em vez de redigitar.

O que esta ferramenta deliberadamente não faz

Não existe botão para acrescentar uma letra maiúscula, um número ou um símbolo. Essas regras são a razão de Password123! passar em quase toda política de senha do mundo e ainda assim aparecer centenas de milhares de vezes em listas de senhas vazadas.

A versão técnica: o que a orientação diz sobre essas regras

Não há botão para deixar uma palavra em maiúscula, acrescentar um dígito ou trocar uma letra por um símbolo. Essas regras são a razão de Password123! ser ao mesmo tempo perfeitamente compatível com a maioria das políticas de senha e ter aparecido centenas de milhares de vezes em bases de vazamento. A orientação atual do NIST diz aos verificadores para não impô-las, e eu não vou trazê-las de volta aqui.

O raciocínio completo, com as medições por trás dele: Senhas Fracas e Validadores: Por Que os Quatro Padrões do Django Aceitam uma Senha Vista 295.389 Vezes em Vazamentos