파일의 sha256sum을 가져와 비교하여 한 줄로 확인하는 방법은 무엇입니까?

파일의 sha256sum을 가져와 비교하여 한 줄로 확인하는 방법은 무엇입니까?

스크립트에서 즉시 다운로드하고 다운로드의 무결성을 확인하고 싶지만 sha256sum.

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

sha256sum새 파일을 가져와서 알려진 해시와 즉시 비교할 수 있는 방법은 무엇입니까 ?

답변1

아카이브 파일과 함께 제공되는 체크섬 파일을 다운로드했습니다. 다운로드한 아카이브의 해시가 다운로드한 체크섬 파일의 해시와 일치하는지 확인하는 방법은 다음과 같습니다.

echo "$(cat archive.tar.gz.sha256) archive.tar.gz" | sha256sum --check --status

플래그 --status는 모든 stdout 출력을 방지합니다(보다 효과적임 --quiet). 그런 다음 반환 코드를 사용하여 일치하는지 확인해야 합니다. 스크립트에서 이 코드를 사용할 것이기 때문에 이것이 제가 원하는 것입니다.

답변2

예:

 echo "67574ee0039eaf4043a237e7c4b0eb432ca07ebf9c7b2dd0667e83bc3900b2cf kali-linux-2019.2-amd64.iso" | sha256sum -c

파일이 있는 경우 sha256sum직접 사용할 수 있습니다.

sha256sum -c "kali-linux-2019.2-amd64.iso.txt.sha256sum"

설명:

위의 예에서는

echo "<known SHA 256 sum of the file> <name of the file>" | sha256sum -c

sha256sum -c옵션은 파일 sha256sum이나 STDIN. 파일이 없는 경우 명령 sha256sum을 사용하면 파일 echo에 포함된 것과 동일한 세부 정보를 제공할 수 있습니다 sha256sum.

파일이 있는 경우 sha256sum직접 사용할 수 있습니다.

sha256sum -c "<sha256sum file name>"

메모:

또는 사용할 알고리즘을 지정하는 대신 shasum -a 256사용할 수 있습니다 .sha256sum-a

답변3

이전(일반) sha256sum 실행의 출력을 가져오는 것을 볼 수 있습니다 sha256sum --check. stdin을 통해 해시와 파일 이름을 가져와 실제 파일과 비교합니다.

따라서 가장 확실한 방법은 원하는 형식으로 출력을 수동으로 제공하는 것입니다.

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

답변4

체크섬 파일이 있으면 간단히 sha256sum --check. 예를 들어:

% ls
elasticsearch-7.9.3-darwin-x86_64.tar.gz           # File to check
elasticsearch-7.9.3-darwin-x86_64.tar.gz.sha512    # Checksum file


% sha512sum --check elasticsearch-7.9.3-darwin-x86_64.tar.gz.sha512
elasticsearch-7.9.3-darwin-x86_64.tar.gz: OK

관련 정보