Lição 5
Fluxo de depuração de hash
Fluxo prático para checksums que não batem e checagens de integridade.
Quando um checksum não bate, o ajuste costuma ser sobre bytes, não sobre desconfiar da matemática.
Confirme o hash de referência
Confira a página do publicador, release notes, entrada do lockfile ou doc interna. Anote:
- Nome do algoritmo (MD5 vs SHA-256)
- Formato de saída (hex minúsculo é comum)
- Se o hash cobre o arquivo compactado ou os arquivos extraídos
Hasheie o artefato exato
.zip, .tar.gz e instaladores baixados devem ser hasheados como baixados. Não hasheie a pasta extraída a menos que a referência diga explicitamente isso.
Compare entradas de texto com cuidado
Para strings, confirme encoding (UTF-8 vs Latin-1), finais de linha (\n vs \r\n) e whitespace invisível. Modo em lote ajuda quando você precisa hashear muitos valores com as mesmas regras.
Use modo arquivo para binários
Logs, imagens e binários compilados devem ser hasheados a partir de bytes brutos. Colar como texto pode corromper o conteúdo por transformações de encoding.
Quando o mismatch persiste
- Baixe o arquivo de novo (transferência parcial)
- Compare tamanho e data de modificação
- Verifique se o upstream mudou o artefato sem atualizar o checksum publicado
- Confirme que você não está hasheando uma cópia transformada (JSON pretty-print, paths normalizados, etc.)
Um Gerador de hash local ajuda a iterar rápido, mas o hash de referência confiável ainda vem da fonte que você está tentando validar.