hashlib expone algoritmos criptográficos como SHA-256. El digest actúa como una huella del contenido: cambiar cualquier byte debería producir otro resultado, útil para comprobar descargas y detectar corrupción.

from hashlib import sha256
from pathlib import Path

def sha256_arquivo(caminho: Path) -> str:
    digest = sha256()
    with caminho.open("rb") as arquivo:
        for bloco in iter(lambda: arquivo.read(1024 * 1024), b""):
            digest.update(bloco)
    return digest.hexdigest()

print(sha256_arquivo(Path("pacote.zip")))

Leer por bloques mantiene estable el uso de memoria con archivos grandes. Compara el digest con un valor obtenido mediante un canal confiable. Si un atacante puede sustituir el archivo y el hash publicado junto a él, la comprobación no aporta autenticidad.

Buenas prácticas

Elige algoritmos modernos admitidos por tu protocolo y evita MD5 o SHA-1 para nuevas decisiones de seguridad. Un hash no cifra datos ni recupera el contenido. Para contraseñas usa una función de derivación adecuada; para autenticar mensajes con secreto compartido, usa HMAC y comparación en tiempo constante.

Consulta secrets en Python para generar tokens y seguridad de APIs Python para aplicar controles completos.

La documentación oficial de hashlib, consultada el 22 de julio de 2026, detalla la API y sus límites.