sha1sum은 SHA-1 해시를 계산하고 검증하는 컴퓨터 프로그램입니다. 그것은 공통적으로 파일의 무결성을 검증하기 위해 사용됩니다. 그것 (또는 변형)은 대부분의 리눅스 배포판에 기본적으로 설치되어 있습니다. 전형적으로 sha224sum, sha256sum, sha384sum 및 sha512sum가 sha1sum과 함께 배포되며, 이것들은 특정 SHA-2 해시 함수를 사용합니다.
SHA-1 변종은 충돌 공격에 취약한 것으로 입증되었고, 사용자는 예를 들어 적의 변조를 방지하기 위해 대신 sha256sum과 같은 SHA-2 변종을 사용해야 합니다.
그것은 GNU Core Utilities, Busybox, 및 Toybox에 포함되어 있습니다. Microsoft Windows를 포함하여 다양한 시스템에 대한 포트가 사용될 수 있습니다.
Examples
만약 sha1 해시가 제공되지 않으면, 파일 안에 sha1 해시를 갖는 것을 생성하려면:
$ sha1sum filename [filename2] ... > SHA1SUM
만약 하나의 파일을 배포하면, ".sha1"이 파일 이름에 덧붙일 수 있습니다. 예를 들어:
$ sha1sum --binary my-zip.tar.gz > my-zip.tar.gz.sha1
출력은 "{hash} SPACE (ASTERISK|SPACE) [{directory} SLASH] {filename}" 형식의 파일당 한 줄을 포함합니다. (만약 해시 다이제스트 생성이 이진 모드 대신 텍스트 모드에서 수행되면, 단일 스페이스 문자와 별표 대신 두 개의 스페이스 문자가 있다는 점에 유의하십시오.) 예를 들면:
$ sha1sum -b my-zip.tar.gz
d5db29cd03a2ed055086cef9c31c252b4587d6d0 *my-zip.tar.gz
$ sha1sum -b subdir/filename2
55086cef9c87d6d031cd5db29cd03a2ed0252b45 *subdir/filename2
To verify that a file was downloaded correctly or that it has not been tampered with:
$ sha1sum -c SHA1SUM
filename: OK
filename2: OK
$ sha1sum -c my-zip.tar.gz.sha1
my-zip.tar.gz: OK
Hash file trees
sha1sum은 오직 디렉토리 내에서 하나 또는 여러 파일의 체크섬을 생성할 수 있지만, 디렉토리 트리, 즉, 하위 디렉토리, 하위-하위디렉토리 등과 그것들이 포함하는 파일의 체크섬은 생성할 수 없습니다. 이것은 -exec 옵션을 갖는 find 명령 조합으로 sha1sum을 사용하거나, find의 출력을 xargs로 파이핑함으로써 가능합니다. sha1deep은 디렉토리 트리의 체크섬을 생성할 수 있습니다.
sha1sum 을 find와 함께 사용하기 위해:
$ find s_* -type f -exec sha1sum '{}' \;
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
마찬가지로, find의 출력을 xargs로 파이핑하면 같은 출력을 생성합니다:
$ find s_* -type f | xargs sha1sum
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
Related programs
- shasum은 SHA-1, 224, 256, 384, 512 중 하나를 계산하는 Perl 프로그램입니다. 그것은 ActivePerl 배포판의 일부입니다.
- sha3sum은 SHA-3, HAKE, RawSHAKE 및 Keccak 함수를 계산하는 유사한 이름의 프로그램입니다.
- <hash>sum 이름-짓는 관례는 b2sum와 b3sum을 갖는 BLAKE 팀, tthsum 프로그램 및 기타 여러 프로그램에서도 사용됩니다.
- FreeBSD와 OpenBSD에서, 그 유틸리티는 md5, sha1, sha256, 및 sha512이라고 합니다. 이들 버전은 약간 다른 옵션과 기능을 제공합니다. 추가적으로, FreeBSD는 메시지 다이제스의 "SKEIN" 가족을 제공합니다.