답변:
각각의 매뉴얼 페이지를 보면 다음과 같이 표시됩니다.
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.2
anf를 사용하여 다음과 비교할 digest.1
수 있습니다digest.2