Security Tools

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.

7 min de leitura

Cadeado sobre teclado de laptop representando segurança digital

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 semente
  • crypto.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)

  1. Sua frase-senha é processada pelo PBKDF2 com 200.000 iterações para derivar uma chave de 256 bits
  2. Um IV (vetor de inicialização) aleatório é gerado para cada criptografia — garante que textos idênticos sejam criptografados de forma diferente cada vez
  3. O texto é criptografado e uma tag de autenticação é gerada — detecta adulterações
  4. 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 .env antes 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:

  1. ✅ Gere senhas com o Gerador de Senhas — use crypto.getRandomValues()
  2. ✅ Verifique a força da senha com o Verificador de Força de Senha — mire em 80+ bits de entropia para contas privilegiadas
  3. ✅ Faça hash de senhas armazenadas com PBKDF2, bcrypt ou Argon2 — verifique o formato de saída com o Gerador de Hash de Senha
  4. ✅ Criptografe valores sensíveis em repouso com AES Encrypt — use AES-256-GCM, não AES-ECB
  5. ✅ Ative o 2FA e teste os códigos com o Gerador TOTP
  6. ✅ 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.