sha1sum is a computer program that calculates and verifies SHA-1 hashes. It is commonly used to verify the integrity of files. It (or a variant) is installed by default on most Linux distributions. Typically distributed alongside sha1sum are sha224sum, sha256sum, sha384sum and sha512sum, which use a specific SHA-2 hash function and b2sum,[1] which uses the BLAKE2 cryptographic hash function.

The SHA-1 variants are proven vulnerable to collision attacks, and users should instead use, for example, a SHA-2 variant such as sha256sum or the BLAKE2 variant b2sum to prevent tampering by an adversary.[2][3]

It is included in GNU Core Utilities,[4] Busybox (excluding b2sum),[5] and Toybox (excluding b2sum).[6] Ports to a wide variety of systems are available, including Microsoft Windows.

Examples

edit

To create a file with a SHA-1 hash in it, if one is not provided:

$ sha1sum filename [filename2] ... > SHA1SUM

If distributing one file, the .sha1 file extension may be appended to the filename e.g.:

$ sha1sum --binary my-zip.tar.gz > my-zip.tar.gz.sha1

The output contains one line per file of the form "{hash} SPACE (ASTERISK|SPACE) [{directory} SLASH] {filename}". (Note well, if the hash digest creation is performed in text mode instead of binary mode, then there will be two space characters instead of a single space character and an asterisk.) For example:

$ 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

edit

sha1sum can only create checksums of one or multiple files inside a directory, but not of a directory tree, i.e. of subdirectories, sub-subdirectories, etc. and the files they contain. This is possible by using sha1sum in combination with the find command with the -exec option, or by piping the output from find into xargs. sha1deep can create checksums of a directory tree.

To use sha1sum with find:

$ find s_* -type f -exec sha1sum '{}' \;
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721  s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2  s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8  s_a/file_02

Likewise, piping the output from find into xargs yields the same output:

$ find s_* -type f | xargs sha1sum
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721  s_1/file_s11
d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2  s_2/file_s21
5590e00ea904568199b86aee4b770fb1b5645ab8  s_a/file_02
edit
  • shasum is a Perl program to calculate any of SHA-1, 224, 256, 384, 512 hashes.[7] It is part of the ActivePerl distribution.
  • sha3sum is a similarly named program that calculates SHA-3, HAKE, RawSHAKE, and Keccak functions.[8]
  • The <hash>sum naming convention is also used by the BLAKE team with b2sum and b3sum, by the program tthsum, and many others.
  • On FreeBSD and OpenBSD, the utilities are called md5, sha1, sha256, and sha512. These versions offer slightly different options and features. Additionally, FreeBSD offers the Skein family of message digests.[9]

See also

edit

References

edit
  1. ^ "b2sum source code in GNU coreutils". GNU coreutils mirror at GitHub. Retrieved 29 Jan 2022.
  2. ^ Bruce Schneier. "Cryptanalysis of SHA-1". Schneier on Security.
  3. ^ "Announcing the first SHA1 collision".
  4. ^ "Sha1sum invocation (GNU Coreutils 9.0)".
  5. ^ "Mirror/Busybox". GitHub. 26 October 2021.
  6. ^ "Landley/Toybox". GitHub. 26 October 2021.
  7. ^ shasum(1) – Linux General Commands Manual from ManKier.com
  8. ^ sha3sum(1) – Linux General Commands Manual from ManKier.com
  9. ^ md5(1) – FreeBSD General Commands Manual
edit

📚 Artikel Terkait di Wikipedia

Md5sum

Additionally, FreeBSD offers the "SKEIN" family of message digests. cksum sha1sum https://linux.die.net/man/1/md5sum "HowToMD5SUM - Community Help Wiki"

Checksum

File verification Fletcher's checksum Frame check sequence cksum md5sum sha1sum Parchive Sum (Unix) SYSV checksum BSD checksum xxHash Error correction

UnxUtils

pclip pr printenv printf ptx pwd recode rm rman rmdir sdiff sed seq sh sha1sum shar sleep sort split stego su sum sync tac tail tar tee test touch tr

GNU Core Utilities

Produces a permuted index of file contents pr – Paginates or columnates files sha1sum, sha224sum, sha256sum, sha384sum, sha512sum – Computes and checks SHA-1/SHA-2

Cryptographic hash function

code management systems, including Git, Mercurial and Monotone, use the sha1sum of various types of content (file content, directory trees, ancestry information

File verification

extension indicates a checksum file containing 160-bit SHA-1 hashes in sha1sum format. The ".md5" file extension, or a file named "MD5SUMS", indicates

Toybox

Write POSIX extended attributes. setsid — Run process in a new session. sha1sum — Calculate sha hash for each input file, reading from stdin if none. shred

BusyBox

scriptreplay sed — Text stream editor sendmail seq setarch setconsole setfont sh sha1sum — Compute and check SHA-1 message digest sha256sum — Compute and check