답변:
각각의 매뉴얼 페이지를 보면 다음과 같이 표시됩니다.
md5sum - compute and check MD5 message digest
sha1sum - compute and check SHA1 message digest
sha256sum - compute and check SHA256 message digest
그것들은 모두 메시지 다이제스트를 생성한다는 것을 알려줍니다. 메시지 다이제스트 는 임의의 크기의 데이터를 인수로 사용하고 고정 크기의 해시를 반환하는 단방향 함수입니다. 해시는 동일한 해시 (충돌이라고 함)로 서로 다른 두 개의 메시지를 되돌리고 찾는 것이 불가능한 것으로 간주됩니다 (실용 범위 내에서).
이 세 가지의 차이점은이 해시를 생성하는 데 사용되는 알고리즘입니다.
MD5 는 1990 년대 초에 발명되었으며 지금까지 결함이 있거나 쓸모없는 것으로 간주됩니다.
SHA1 은 1990 년대 초에 개발되었습니다. MD5보다 강력하지만 충분히 강하지는 않습니다. 현재 X.509 디지털 인증서의 디지털 서명에서 사용이 철회되고 있습니다.
SHA256 은 현재 권장되는 해시 함수입니다.
더 약한 알고리즘을 사용해야 할 이유가 없다면 SHA256을 사용하는 것이 좋습니다.
텍스트 파일을 만들려면 출력을 파일로 리디렉션하면됩니다. 예를 들어 Ubuntu ISO 이미지가있는 경우 해시하려고합니다.
md5sum Ubuntu.iso > md5sum.txt
물론 다른 변형과도 작동합니다.
그런 다음 인터넷을 통해 해당 파일을 배포하면 수신자는 다음을 사용하여 해시를 다시 확인할 수 있습니다.
md5sum Ubuntu.iso
그러면 수신자 md5sum.txt가 게시 할 파일 의 내용과 비교할 수있는 MD5 해시가 인쇄 됩니다. 동일하면 파일이 변경되지 않은 것입니다.
물론 sha256sum보다 사용하는 것이 좋습니다 md5sum. 일부 시스템에는 이러한 유틸리티가 없을 수도 있다는 사실을 허용하기 위해 ISO와 함께 게시 된 md5sum.txt, sha1sum.txt및 / 또는을 선택하는 경우가 종종 sha256sum.txt있습니다.
MD5, SHA-1 및 SHA-256은 다른 해시 함수 (다이제스트)입니다. 알고리즘과 출력 크기가 다릅니다.
큰 파일을 확인하면 파일을 여러 번 읽지 않아도 프로세스를 가속화 할 수 있습니다. 일반적인 접근 방식은
mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'
이 경우 여러 다이제스트를 동시에 계산하는 프로그램이 있기 때문에 더 간단합니다.
gpg --print-mds input
gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2anf를 사용하여 다음과 비교할 digest.1수 있습니다digest.2