Skip to content
Latchkey

O Que É um Checksum? Verificação de Integridade de Dados Explicada

Um checksum é um valor curto calculado a partir de um bloco de dados que permite verificar se os dados não foram corrompidos ou alterados.

Um checksum é um fingerprint dos dados. Você o calcula a partir de um arquivo, e qualquer um que depois o recalcule pode confirmar que o arquivo é idêntico byte por byte. Checksums são a espinha dorsal da integridade no CI: verificam downloads, validam caches e detectam quando um artifact foi adulterado ou corrompido em trânsito.

O que é um checksum

Um checksum é um valor de tamanho fixo derivado dos dados de entrada por um algoritmo definido. Mude apenas um byte da entrada e o checksum muda. Ao comparar um checksum recém-calculado com um conhecido como bom, você verifica que os dados estão íntegros sem inspecioná-los diretamente.

Integridade versus segurança

Checksums simples (como CRC32) pegam corrupção acidental mas são fáceis de forjar, então protegem contra erros de transmissão, não contra atacantes. Hashes criptográficos como SHA-256 são projetados para que um atacante não consiga criar dados diferentes com o mesmo checksum, que é o que você precisa para segurança.

Como os checksums são usados

Um publicador calcula um checksum de um release e o divulga junto ao arquivo. Depois de baixar, você recalcula o checksum e compara. Se combinarem, o arquivo chegou íntegro e inalterado. Gerenciadores de pacotes e lockfiles automatizam isso para cada dependência que você instala.

Checksums no CI

O CI se apoia em checksums em toda parte: verificar uma ferramenta baixada antes de rodá-la, derivar uma chave de cache do hash de um lockfile para que o cache invalide quando as dependências mudarem, e confirmar que um artifact construído corresponde ao que foi publicado. Uma divergência deve fazer o build falhar de forma explícita.

A checksum-based cache key
# Cache key from a lockfile checksum in GitHub Actions
steps:
  - uses: actions/cache@v4
    with:
      path: ~/.npm
      key: npm-${{ hashFiles('package-lock.json') }}

Nota Latchkey

O caching do Latchkey usa hashes de conteúdo para chavear e validar entradas de cache, então uma restauração de cache só tem sucesso quando os bytes armazenados correspondem ao checksum esperado - o mesmo princípio de integridade, aplicado para manter builds aquecidos corretos.

Principais conclusões

  • Um checksum é um fingerprint calculado a partir de dados que revela qualquer mudança neles.
  • Checksums simples pegam corrupção acidental; hashes criptográficos resistem a adulteração deliberada.
  • O CI usa checksums para verificar downloads, chavear caches a partir de lockfiles e confirmar a integridade de artifacts.

Guias relacionados