Cyber Security Academy · Aula

Hash de senhas: bcrypt, Argon2, PBKDF2

Aprenda por que armazenar senhas em texto simples é perigoso e como o hash com salt protege as senhas.

Aula 2 de 413 etapas

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:

  1. Argon2id — melhor resistência à quebra por GPU/ASIC
  2. bcrypt — amplamente compatível, com histórico comprovado
  3. 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:

  1. Recupere o resumo criptográfico e o sal armazenados para o usuário
  2. Gere o resumo criptográfico da senha enviada usando o mesmo sal e algoritmo
  3. Compare o resumo criptográfico resultante com o resumo armazenado (comparação em tempo constante)
  4. 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.

Grátis para começar

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

  1. Força e políticas de senhas
  2. Hash de senhas: bcrypt, Argon2, PBKDF2
  3. Autenticação multifator
  4. Preenchimento de credenciais e pulverização de senhas
← Voltar para Cyber Security Academy