web-dev-qa-db-fra.com

Comment prendre sha256sum de fichier et comparer pour vérifier en une ligne?

Je continue de me trouver à vouloir télécharger et à vérifier l'intégrité du téléchargement immédiatement dans un script, mais je n'ai pas été en mesure de trouver la bonne incantation de sha256sum.

MY_SHA256=e147f0392686c40cfd7d5e6f332c6ee74c4eab4d24e2694b3b0a0c037bf51dc5
sha256sum some_binary | sha256sum --check ${MY_SHA256}

Comment puis-je prendre le sha256sum d'un nouveau fichier et le comparer immédiatement à un hachage connu?

7
tarabyte

Vous pouvez constater que sha256sum --check prend la sortie d'une exécution précédente (normale) de sha256sum: il prend des hachages et des noms de fichiers via stdin, et les compare à des fichiers réels.

Il est donc évident de lui donner manuellement le résultat dans le format souhaité:

$ echo "da39a3ee5e6b4b0d3255bfef95601890afd80709  motd" | sha1sum --check
motd: OK
10
grawity