Ir para o conteúdo principal
GuiaBoas práticasIntermédio

Criptografia, hashing e HMAC: entender as diferenças

Saiba quando usar criptografia, hashing, HMAC ou PBKDF2 para confidencialidade, integridade, autenticação e senhas.

Publicado 23 de setembro de 2026Leitura : 2 minPor Yann Bastien
Mostrar índice
  1. A criptografia protege a confidencialidade
  2. O hashing cria uma impressão digital
  3. HMAC combina hash e segredo
  4. PBKDF2 é mais do que um único hash de senha
  5. Qual mecanismo usar?
  6. Erros comuns

Criptografia, hashing e HMAC usam funções criptográficas, mas resolvem problemas diferentes. A primeira pergunta é: o que precisa ser protegido ou verificado?

  • use criptografia quando a informação deve permanecer secreta e depois ser recuperada;
  • use hashing para criar uma impressão digital reproduzível;
  • use HMAC para autenticar uma mensagem com um segredo compartilhado;
  • use uma função de derivação como PBKDF2 para derivar um valor de uma senha.

A criptografia protege a confidencialidade

A criptografia transforma dados legíveis em texto cifrado usando uma chave. Com a chave e os parâmetros corretos, a operação pode ser revertida.

AES é um algoritmo de criptografia simétrica. A ferramenta AES permite explorar esse modelo.

A criptografia é adequada quando o valor original precisa ser recuperado. Um hash não substitui esse objetivo porque não foi criado para ser descriptografado.

O hashing cria uma impressão digital

Uma função hash transforma uma entrada em um resumo de tamanho fixo. A mesma entrada com o mesmo algoritmo produz o mesmo resultado.

O gerador de hash e a ferramenta de comparação atendem a esses usos.

Um hash isolado não prova que o resumo foi criado por uma parte autorizada. Quem consegue substituir os dados e o hash pode recalcular ambos.

HMAC combina hash e segredo

HMAC usa uma função hash junto com uma chave secreta. Partes que compartilham esse segredo podem calcular e verificar um código de autenticação.

O gerador e verificador HMAC demonstra a diferença.

HMAC não oculta a mensagem. Ele protege integridade e autenticidade, não confidencialidade.

PBKDF2 é mais do que um único hash de senha

Funções hash de uso geral são intencionalmente rápidas, o que facilita tentativas repetidas de senhas.

PBKDF2 aplica repetidamente uma função pseudoaleatória com salt e número de iterações. A ferramenta PBKDF2 mostra senha, salt, iterações e tamanho de saída.

O salt não é uma senha adicional e pode ser armazenado com o valor derivado.

Qual mecanismo usar?

Necessidade Mecanismo Reversível? Segredo necessário?
Ocultar dados e recuperá-los depois AES Sim Sim
Criar uma impressão digital Hash Não Não
Autenticar mensagem com segredo compartilhado HMAC Não Sim
Derivar valor de uma senha PBKDF2 Não Senha

Os mecanismos podem coexistir no mesmo sistema.

Erros comuns

Codificação não é criptografia. Base64 não oferece confidencialidade.

Hashing não é criptografia. Um hash não é texto cifrado.

HMAC não oculta a mensagem. Ele a autentica com um segredo.

Senhas normalmente não devem ser armazenadas como dados descriptografáveis.

Para um contexto mais amplo, consulte Segurança web: proteções essenciais.

Este artigo foi útil?