Hash de senhas: bcrypt, Argon2, PBKDF2
Aprenda por que armazenar senhas em texto simples é perigoso e como o hash com salt protege as senhas.
Hash de senhas: bcrypt, Argon2, PBKDF2 é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
Por que não armazenar senhas em texto simples?
Armazenar senhas em texto simples é catastrófico — uma única violação do banco de dados expõe todas as contas. As senhas devem ser processadas com uma função unidirecional antes do armazenamento, para que nem mesmo o acesso ao banco de dados revele a senha original.
O que é o cálculo de hash?
Uma função de hash converte uma entrada de qualquer tamanho em uma saída de tamanho fixo. A mesma entrada sempre produz a mesma saída, mas o valor original não pode ser recuperado a partir do hash. Exemplos: SHA-256, bcrypt, Argon2.
Por que não usar SHA-256 para senhas?
Funções de hash de uso geral, como SHA-256, foram projetadas para serem rápidas. Um invasor pode calcular bilhões de hashes SHA-256 por segundo usando uma GPU, tornando viável a quebra por força bruta.
O cálculo de hashes de senhas exige funções lentas e dispendiosas.
Adição de sal criptográfico
Um sal criptográfico é um valor aleatório adicionado a cada senha antes do cálculo do hash. Isso garante que dois usuários com a mesma senha tenham hashes diferentes, impedindo ataques com tabelas arco-íris e ataques em lote. O sal é armazenado junto com o hash (não é secreto).
# Conceptual salt example
hash = bcrypt("password" + random_salt)bcrypt
O bcrypt foi projetado em 1999 especificamente para o cálculo de hashes de senhas. Ele tem um fator de custo configurável que controla a lentidão do cálculo do hash. À medida que o hardware melhora, aumente o fator de custo para manter a segurança.
Um fator de custo de 12 é comum atualmente — leva aproximadamente 250 ms para calcular o hash em uma CPU moderna.
PBKDF2
PBKDF2 (função de derivação de chaves baseada em senha 2) aplica uma função de hash (por exemplo, HMAC-SHA256) muitas vezes (iterações). Mais iterações = mais lento = mais seguro. É recomendado pelo NIST e usado pelo WPA2 para senhas de Wi-Fi.
Argon2
Argon2 venceu a Competição de Cálculo de Hashes de Senhas em 2015. É o padrão moderno. Seus parâmetros são ajustáveis em:
- Custo de tempo — número de iterações
- Custo de memória — RAM necessária (limita a aceleração por GPU)
- Paralelismo — número de linhas de execução
Use Argon2id na maioria dos aplicativos.
Tabelas arco-íris
Uma tabela arco-íris é uma consulta pré-calculada de hash → texto simples. Sem um sal criptográfico, um invasor que tenha o hash pode consultá-lo instantaneamente na tabela. O uso de sal criptográfico torna as tabelas arco-íris inúteis, pois cada hash é único.
Técnicas de quebra de senhas
Métodos comuns de quebra sem conexão:
- Ataque de dicionário — testar senhas comuns e variações
- Força bruta — testar todas as combinações de caracteres
- Baseado em regras — aplicar regras de mutação ao dicionário (adicionar o ano, usar maiúsculas, linguagem leet)
- Ferramentas: Hashcat, John the Ripper
Escolhendo o algoritmo correto
Ordem de preferência para aplicativos novos:
- Argon2id — melhor resistência à quebra por GPU/ASIC
- bcrypt — amplamente compatível, com histórico comprovado
- PBKDF2 — aprovado pelo NIST e exigido em alguns contextos de conformidade
Nunca use: MD5, SHA-1 ou SHA-256 sem sal criptográfico para senhas.
Processo de verificação
Quando um usuário inicia sessão:
- Recupere o resumo criptográfico e o sal armazenados para o usuário
- Gere o resumo criptográfico da senha enviada usando o mesmo sal e algoritmo
- Compare o resumo criptográfico resultante com o resumo armazenado (comparação em tempo constante)
- Nunca descriptografe — apenas compare
Verificação rápida: resumo criptográfico de senhas
Qual algoritmo de resumo criptográfico de senhas é considerado a prática recomendada atualmente e foi o vencedor da Competição de Resumo Criptográfico de Senhas?
Recapitulação da lição
As senhas devem ser armazenadas como resumos criptográficos, não como texto simples. Algoritmos rápidos como SHA-256 são inadequados — use funções lentas de resumo criptográfico de senhas: Argon2id (preferencial), bcrypt ou PBKDF2. Sempre use um sal aleatório para cada senha, para evitar ataques com tabelas arco-íris. Nunca crie sua própria criptografia — use bibliotecas comprovadas.
Aprenda Cyber Security Academy com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 76
- Aulas
- 303
Perguntas Frequentes
A aula “Hash de senhas: bcrypt, Argon2, PBKDF2” é grátis?
Sim — o texto completo de “Hash de senhas: bcrypt, Argon2, PBKDF2” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Hash de senhas: bcrypt, Argon2, PBKDF2”?
Aprenda por que armazenar senhas em texto simples é perigoso e como o hash com salt protege as senhas. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Hash de senhas: bcrypt, Argon2, PBKDF2”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Força e políticas de senhas
- Hash de senhas: bcrypt, Argon2, PBKDF2
- Autenticação multifator
- Preenchimento de credenciais e pulverização de senhas