Cryptology Academy · Aula

Aplicações de hash: somas de verificação, HMAC e Git

Veja hashes no armazenamento de senhas, na integridade de dados e no controle de versões

Aula 4 de 413 etapas

Aplicações de hash: somas de verificação, HMAC e Git é 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.

Boas-vindas

As funções de resumo desempenham três papéis fundamentais nos sistemas reais: verificar a integridade dos dados (somas de verificação), autenticar mensagens (HMAC) e acompanhar o histórico do código (Git).

Somas de verificação de arquivos

Ao baixar um software, os fornecedores publicam o resumo SHA-256. Depois do download, calcule o resumo e compare: sha256sum ubuntu-24.04.iso # Should match published value exactly

Integridade dos dados no armazenamento

Bancos de dados como ZFS e Btrfs calculam somas de verificação SHA-256 para cada bloco de dados. Durante a leitura, a soma de verificação é verificada. A corrupção silenciosa do disco é detectada automaticamente.

Armazenamento endereçável por conteúdo

Git, IPFS e Docker usam armazenamento endereçável por conteúdo: o nome de cada objeto IS seu resumo. SHA-256(content) = ID exclusivo. Conteúdos idênticos são armazenados uma única vez e duplicatas são detectadas instantaneamente.

Uso do SHA-1 (e SHA-256) pelo Git

Cada confirmação, árvore e blob do Git tem um resumo SHA-1. O resumo da confirmação abrange: conteúdo + metadados + resumos dos pais. Alterar qualquer bit altera o resumo, tornando as adulterações do histórico evidentes.

Construção do HMAC

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key' XOR ipad) || msg)) A construção de resumo duplo com preenchimentos XOR impede ataques de extensão de comprimento contra MACs baseados em chave.

HMAC em Python

import hmac, hashlib def create_mac(key: bytes, msg: bytes) -> str: return hmac.new(key, msg, hashlib.sha256).hexdigest() mac = create_mac(b'secret', b'Hello!')

Comparação em tempo constante

Sempre compare HMACs com hmac.compare_digest(), NOT ==. Ataques de temporização: uma comparação que termina antecipadamente revela o comprimento da parte correspondente. hmac.compare_digest compara todos os bytes em tempo constante.

HMAC na autenticação de API

Webhooks do GitHub: cada carga útil é assinada com HMAC-SHA256 usando um segredo compartilhado. Receba o webhook → calcule o HMAC → compare-o com o cabeçalho X-Hub-Signature-256.

Verificação de senhas com resumo

Fluxo de login: o usuário envia a senha → o servidor calcula o resumo → compara-o com o resumo armazenado. O servidor nunca descriptografa; ele calcula o resumo novamente e compara. O resumo armazenado nunca revela a senha.

Aplicações de árvores de Merkle

As árvores de Merkle constroem uma árvore de resumos sobre os dados. Os blocos do Bitcoin contêm uma raiz de Merkle de todas as transações. A Transparência de Certificados usa árvores de Merkle para registros de auditoria que evidenciam adulterações.

Verificação rápida

Por que as comparações de HMAC devem usar hmac.compare_digest() em vez de ==?

Recapitulação

Excelente! Você aplicou resumos em situações reais. Em seguida, aprofundaremos o AES, o padrão de criptografia simétrica mais utilizado no mundo.
Grátis para começar

Aprenda Cryptology 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
67
Aulas
261

Perguntas Frequentes

A aula “Aplicações de hash: somas de verificação, HMAC e Git” é grátis?

Sim — o texto completo de “Aplicações de hash: somas de verificação, HMAC e Git” é 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 “Aplicações de hash: somas de verificação, HMAC e Git”?

Veja hashes no armazenamento de senhas, na integridade de dados e no controle de versões 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 “Aplicações de hash: somas de verificação, HMAC e Git”?

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. O que caracteriza uma boa função hash
  2. MD5: história, usos e por que está quebrado
  3. Famílias SHA-1 e SHA-2 explicadas
  4. Aplicações de hash: somas de verificação, HMAC e Git
← Voltar para Cryptology Academy