Lección 5

Flujo de depuración de hash

Un flujo práctico para discrepancias de checksum y comprobaciones de integridad.

Cuando un checksum no coincide, la solución suele estar en los bytes, no en desconfiar de las matemáticas.

Confirma el hash de referencia

Revisa la página del publicador, las notas de release, la entrada del lockfile del paquete o la documentación interna. Anota:

  • Nombre del algoritmo (MD5 vs SHA-256)
  • Formato de salida (hex en minúsculas es habitual)
  • Si el hash cubre el archivo comprimido o los archivos extraídos

Hashea el artefacto exacto

Los .zip, .tar.gz e instaladores descargados deben hashearse tal como se descargaron. No hashees una carpeta extraída a menos que la referencia lo indique explícitamente.

Compara entradas de texto con cuidado

Para comparaciones de cadenas, confirma la codificación (UTF-8 vs Latin-1), los finales de línea (\n vs \r\n) y los espacios invisibles. El modo por lotes ayuda cuando necesitas hashear muchos valores con las mismas reglas.

Usa el modo archivo para binarios

Logs, imágenes y binarios compilados deben hashearse desde bytes crudos. Pegar texto puede corromper contenido binario por transformaciones de codificación.

Cuando persiste una discrepancia

  • Vuelve a descargar el archivo por si hubo transferencia parcial
  • Compara tamaño del archivo y hora de modificación
  • Pregunta si el upstream cambió el artefacto sin actualizar el checksum publicado
  • Verifica que no estás hasheando una copia transformada (JSON con formato bonito, rutas normalizadas, etc.)

Un generador de hash local te ayuda a iterar rápido, pero el hash de referencia de confianza sigue viniendo de la fuente contra la que intentas validar.

Volver al resumen del curso