0Pricing
Cryptology Academy · Aula

Codificação, criptografia e hashing

Trace uma distinção clara entre esses três conceitos e entenda quando usar cada um.

Codificação, criptografia e hashing é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 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 Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Três operações diferentes

Codificação, cifragem e cálculo de resumos são três operações fundamentalmente diferentes, que atendem a finalidades distintas. Elas costumam ser confundidas, mas compreender a diferença é essencial para projetar sistemas seguros.

A codificação transforma o formato dos dados sem oferecer segurança. A cifragem protege a confidencialidade. O cálculo de resumos produz uma impressão digital de comprimento fixo para verificar a integridade.

Codificação: transformação de formato

A codificação converte dados de um formato para outro para fins de compatibilidade ou transmissão. Ela é sempre reversível e não exige uma chave. Qualquer pessoa que conheça o esquema de codificação pode decodificar os dados.

Os exemplos incluem Base64 (binário para ASCII), codificação de URL (%20 para espaço), entidades HTML (& para &) e codificação hexadecimal. O objetivo é a compatibilidade, não a segurança.

Cifragem: confidencialidade com uma chave

A cifragem transforma texto claro em texto cifrado usando uma chave. A operação só pode ser revertida por alguém que tenha a chave correta. Sem a chave, é computacionalmente inviável decifrar o texto cifrado.

Os algoritmos de cifragem incluem AES (simétrico), RSA (assimétrico) e ChaCha20. A chave é o que fornece a segurança. O algoritmo em si é de conhecimento público.

Cálculo de resumos: digests unidirecionais de comprimento fixo

Uma função de resumo criptográfico recebe uma entrada de comprimento arbitrário e produz uma saída de comprimento fixo (o digest ou resumo). A função é determinística (a mesma entrada sempre produz a mesma saída), mas irreversível por projeto.

SHA-256 sempre produz uma saída de 256 bits, independentemente de a entrada ter 1 byte ou 1 gigabyte. As funções de resumo são usadas para verificações de integridade, armazenamento de senhas e assinaturas digitais.

Base64 NÃO é cifragem

Um erro crítico e comum: dados codificados em Base64 NÃO estão cifrados. Para decodificar Base64, basta saber que se trata de Base64, o que geralmente é evidente pelo preenchimento "==" ou pelo conjunto de caracteres.

Se você codificar uma senha como "cGFzc3dvcmQ=" (Base64 para "password"), um invasor poderá decodificá-la em segundos. Em um contexto de segurança, Base64 só é útil para compatibilidade de transmissão, nunca para ocultar dados.

MD5 de uma senha é um resumo, não cifragem

Calcular o resumo de uma senha com MD5 armazena-a como um resumo unidirecional. Não é possível "decifrar" um resumo MD5 para recuperar a senha. No entanto, MD5 não é uma função adequada para calcular resumos de senhas porque é rápida demais.

Invasores podem calcular bilhões de resumos MD5 por segundo usando GPUs, tornando viáveis ataques de força bruta e de tabelas arco-íris. O armazenamento de senhas exige funções lentas e com uso intenso de memória, como bcrypt, scrypt ou Argon2.

AES-GCM é cifragem autenticada

AES-GCM (modo Galois/Counter) oferece tanto confidencialidade (cifragem) quanto integridade (autenticação). Ele usa AES no modo contador para a cifragem e GHASH para a autenticação.

A etiqueta de autenticação produzida pelo AES-GCM detecta qualquer adulteração do texto cifrado. Isso faz dele um esquema de cifragem autenticada com dados associados (AEAD), o padrão-ouro da cifragem moderna.

SHA-256 é uma função de resumo

SHA-256 (algoritmo de resumo seguro de 256 bits) é uma função de resumo criptográfico padronizada pelo NIST. Ela produz um resumo de 256 bits e é considerada segura contra todos os ataques conhecidos, incluindo ataques de colisão e de pré-imagem.

SHA-256 é usado em certificados TLS, na mineração de Bitcoin (prova de trabalho), na autenticação de mensagens HMAC e em esquemas de assinatura digital, como RSA-SHA256 e ECDSA.

Erros comuns de desenvolvedores

Erros comuns de segurança decorrentes da confusão entre essas três operações incluem: armazenar senhas cifradas em vez de calcular seus resumos (a chave de cifragem se torna a verdadeira vulnerabilidade), usar codificação em vez de cifragem para dados confidenciais, usar resumos rápidos (MD5, SHA-1) para armazenar senhas e presumir que algo é seguro só porque está em Base64.

Outro erro é usar a mesma função para várias finalidades, como usar uma função de resumo como MAC sem a construção HMAC, o que a torna vulnerável a ataques de extensão de comprimento.

Quando usar cada operação

Use codificação quando precisar transmitir dados binários por um protocolo de texto, armazenar bytes em um campo de texto ou incorporar dados em uma URL. Use o cálculo de resumos para armazenar senhas (com bcrypt/Argon2), verificar a integridade dos dados (somatórios de verificação) e derivar identificadores de comprimento fixo a partir de dados de comprimento variável.

Use cifragem quando precisar armazenar ou transmitir dados confidenciais que devam ser recuperáveis com a chave correta. Combine cálculo de resumos e cifragem (AEAD) para obter integridade e confidencialidade durante a transmissão.

Combinando as três operações na prática

Um sistema de autenticação bem projetado usa as três operações: as senhas têm seus resumos calculados com Argon2 (cálculo de resumos), o resumo é armazenado em um campo de banco de dados com cifragem de colunas AES-256 (cifragem) e o token de API retornado após o login é codificado em Base64url (codificação).

Cada operação atende a uma finalidade distinta. Reconhecer qual operação é adequada para cada caso de uso é uma habilidade fundamental em criptografia aplicada e no projeto de sistemas seguros.

Questionário sobre codificação versus cifragem

Teste sua compreensão de codificação, cifragem e cálculo de resumos.

Principais conclusões: codificação versus cifragem versus cálculo de resumos

Codificação (Base64, hexadecimal) é uma transformação de formato sem segurança. Cifragem (AES-GCM) oferece confidencialidade reversível que exige uma chave. O cálculo de resumos (SHA-256, Argon2) produz resumos irreversíveis de comprimento fixo.

Nunca use codificação para segurança. Use resumos lentos (Argon2/bcrypt) para senhas. Use cifragem autenticada (AEAD) para dados confidenciais em trânsito ou em repouso. Confundir essas categorias é uma das fontes mais comuns de vulnerabilidades de segurança.

Perguntas Frequentes

A aula “Codificação, criptografia e hashing” é grátis?

Sim — o texto completo de “Codificação, criptografia e hashing” é 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 Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Codificação, criptografia e hashing”?

Trace uma distinção clara entre esses três conceitos e entenda quando usar cada um. Você pratica Cryptology 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 Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology 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 4 de 4.

Quanto tempo leva a aula “Codificação, criptografia e hashing”?

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 Cryptology Academy?

Sim. Cada aula de Cryptology 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. Codificação Base64: como funciona
  2. ASCII, Unicode e representação de texto
  3. Hexadecimal em saídas criptográficas
  4. Codificação, criptografia e hashing
← Voltar para Cryptology Academy