Segurança de Senhas no Navegador: Gere, Criptografe, Faça Hash e Teste — Sem Servidor Necessário
Um guia prático sobre ferramentas de senha e criptografia baseadas no navegador — gere senhas fortes, criptografe texto com AES-256, faça hash de senhas com PBKDF2 e verifique a força da sua senha instantaneamente.
Todo desenvolvedor e usuário preocupado com segurança eventualmente precisa do mesmo conjunto de ferramentas: gerar uma senha forte, criptografar um texto sensível, fazer hash de uma senha para armazenamento ou verificar se um hash corresponde a uma senha. Antes, isso exigia instalar o OpenSSL ou um aplicativo dedicado. Hoje, a Web Crypto API é poderosa o suficiente para fazer tudo isso dentro do navegador — sem nenhuma requisição ao servidor e sem que nenhum dado saia do seu dispositivo.
Aqui está um guia pelas ferramentas essenciais e como usá-las efetivamente.
1. Gerador de Senhas: A Forma Correta de Criar Senhas
Humanos são péssimos em criar senhas aleatórias. Inconscientemente usamos padrões — palavras do dicionário, nomes, anos, sequências de teclado como qwerty123. Um gerador de senhas verdadeiramente aleatório evita tudo isso.
Nosso Gerador de Senhas usa crypto.getRandomValues() — o gerador de números aleatórios criptograficamente seguro embutido em todo navegador moderno. O que o diferencia do Math.random():
Math.random()é uma sequência pseudoaleatória — previsível se você conhecer a sementecrypto.getRandomValues()extrai entropia no nível do sistema operacional — verdadeiramente imprevisível
Configurações recomendadas:
| Caso de uso | Comprimento | Opções |
|---|---|---|
| Login em sites | 16+ | Maiúsculas, minúsculas, números, símbolos |
| Senha de banco de dados | 24+ | Todos os conjuntos de caracteres |
| Frase-senha para chave de criptografia | 32+ | Todos os conjuntos de caracteres |
| PIN (desbloqueio de dispositivo) | 8+ | Apenas números |
O que evitar:
- Senhas com menos de 12 caracteres (quebráveis por GPUs modernas)
- Senhas apenas com símbolos (muitos serviços as rejeitam)
- Senhas que você já usou em qualquer outro lugar
2. Verificador de Força de Senha: Saiba Antes de Definir
Antes de definir uma senha — ou ao auditar senhas existentes — passe-a pelo nosso Verificador de Força de Senha. Ele avalia:
- Pontuação por comprimento — quanto mais longa, melhor
- Diversidade de conjuntos de caracteres — minúsculas, maiúsculas, dígitos, símbolos
- Padrões comuns — palavras do dicionário, sequências de teclado, caracteres repetidos
- Bits de entropia — a medida matemática de quão difícil é adivinhar a senha
A pontuação de entropia é a medida mais honesta. Uma senha com 128 bits de entropia levaria mais tempo do que a idade do universo para ser quebrada por força bruta na velocidade computacional atual.
"password" → Entropia: ~11 bits ❌ Terrível
"P@ssw0rd" → Entropia: ~18 bits ❌ Ainda terrível (padrão)
"correct-horse-bat" → Entropia: ~44 bits ⚠ Moderada (palavras do dicionário)
"Kx9#mP2$vL7nQw" → Entropia: ~87 bits ✅ Forte
"mQ3$kX9#nP7&vL2@" → Entropia: ~104 bits ✅ Muito forte
3. Criptografia AES-256: Proteja Texto com Criptografia de Nível Militar
Precisa armazenar uma nota secreta, criptografar um valor de configuração ou enviar texto sensível por um canal inseguro? Nossa ferramenta AES Encrypt / Decrypt usa AES-256-GCM — a mesma cifra utilizada por bancos, governos e aplicativos de mensagens com criptografia ponta a ponta.
Como o AES-256-GCM Funciona (Simplificado)
- Sua frase-senha é processada pelo PBKDF2 com 200.000 iterações para derivar uma chave de 256 bits
- Um IV (vetor de inicialização) aleatório é gerado para cada criptografia — garante que textos idênticos sejam criptografados de forma diferente cada vez
- O texto é criptografado e uma tag de autenticação é gerada — detecta adulterações
- A saída é codificada em base64:
IV + tag + ciphertext
Texto: "API_KEY=sk_live_abc123"
Frase-senha: "my-strong-passphrase"
↓
Criptografado: "a3Fm9K2...base64...Xp7nQ=="
Propriedades de segurança:
- ✅ Zero knowledge — nada é enviado a nenhum servidor
- ✅ Criptografia autenticada — a descriptografia falha se o ciphertext foi adulterado
- ✅ Aleatorização de Salt + IV — a mesma entrada produz saídas diferentes cada vez
- ✅ 200.000 iterações de PBKDF2 — resistente a força bruta na frase-senha
Usos práticos:
- Criptografar valores de
.envantes de armazená-los em um aplicativo de notas - Compartilhar uma senha com um colega via e-mail/Slack (envie o ciphertext; compartilhe a frase-senha por outro canal)
- Criptografar entradas de diário ou notas pessoais
- Armazenar API keys em uma planilha em formato criptografado
4. Gerador de Hash de Senha: PBKDF2 para Armazenamento Seguro
Se você está desenvolvendo um aplicativo que armazena senhas de usuários, jamais armazene senhas em texto puro — nem hashes fracos como MD5/SHA-1. Nosso Gerador de Hash de Senha usa PBKDF2-SHA256 para criar hashes de senha seguros.
Por Que PBKDF2 e Não MD5/SHA-256?
| Hash | Tempo por tentativa (GPU) | Iterações | Veredicto |
|---|---|---|---|
| MD5 | 0,001ms | 1 | ❌ Comprometido |
| SHA-256 | 0,002ms | 1 | ❌ Rápido demais |
| PBKDF2-SHA256 | 200ms+ | 200.000 | ✅ Adequado |
| bcrypt (custo 12) | 300ms+ | adaptável | ✅ Adequado |
O objetivo do hash de senhas é tornar cada tentativa de adivinhação custosa. Hashes rápidos são catastroficamente ruins para senhas.
Formato de saída do hash:
pbkdf2$200000$<salt>$<hash>
O salt é aleatório por hash, o que significa que a mesma senha produz um hash diferente cada vez — prevenindo ataques de rainbow table.
5. Gerador TOTP / 2FA: Teste Seus Códigos de Autenticação
Nosso Gerador TOTP / 2FA gera senhas de uso único baseadas em tempo, compatíveis com Google Authenticator, Authy e qualquer aplicativo autenticador compatível com RFC 6238. Insira uma chave secreta em Base32 e obtenha o código atual de 6 dígitos com contagem regressiva.
Casos de uso:
- Verificar se a implementação TOTP do seu servidor produz os códigos corretos
- Testar uma configuração de 2FA antes de implantá-la para os usuários
- Gerar códigos para um segredo que você já cadastrou (como método de backup)
Os códigos TOTP mudam a cada 30 segundos, estão vinculados ao horário UTC atual e são matematicamente impossíveis de prever sem a chave secreta.
6. Passphrases Diceware: Memoráveis e Matematicamente Fortes
Nosso Gerador de Senhas Diceware cria passphrases a partir da lista de palavras da EFF — a mesma abordagem usada por pesquisadores de segurança para senhas mestre e chaves de criptografia de disco.
Exemplo: correct-horse-battery-staple-voyage
Por que passphrases superam senhas de caracteres aleatórios para senhas mestre:
| Senha | Entropia | Memorabilidade |
|---|---|---|
Kx9#mP2$ (8 chars) |
~52 bits | Muito difícil |
correct-horse-battery (3 palavras) |
~58 bits | Fácil |
correct-horse-battery-staple (4 palavras) |
~77 bits | Moderada |
correct-horse-battery-staple-voyage (5 palavras) |
~96 bits | Administrável |
Para uma senha mestre de gerenciador de senhas — que você precisa memorizar e jamais anotar — uma passphrase diceware de 5 palavras é o melhor equilíbrio entre segurança e memorabilidade.
Lista de Verificação de Segurança
Passe por esta lista antes de implantar qualquer sistema de autenticação:
- ✅ Gere senhas com o Gerador de Senhas — use
crypto.getRandomValues() - ✅ Verifique a força da senha com o Verificador de Força de Senha — mire em 80+ bits de entropia para contas privilegiadas
- ✅ Faça hash de senhas armazenadas com PBKDF2, bcrypt ou Argon2 — verifique o formato de saída com o Gerador de Hash de Senha
- ✅ Criptografe valores sensíveis em repouso com AES Encrypt — use AES-256-GCM, não AES-ECB
- ✅ Ative o 2FA e teste os códigos com o Gerador TOTP
- ✅ Para senhas mestre, use o Gerador Diceware — mínimo de 5 palavras
O ponto principal: todas as ferramentas desta lista funcionam inteiramente no seu navegador. Suas senhas, textos e hashes jamais saem do seu dispositivo. Isso não é um diferencial — é o padrão mínimo aceitável para ferramentas de segurança.