• TUX



Perl 5 version 12.4 documentation
Recently read



shasum - Print or Check SHA Checksums


  1. Usage: shasum [OPTION] [FILE]...
  2. or: shasum [OPTION] --check [FILE]
  3. Print or check SHA checksums.
  4. With no FILE, or when FILE is -, read standard input.
  5. -a, --algorithm 1 (default), 224, 256, 384, 512
  6. -b, --binary read files in binary mode (default on DOS/Windows)
  7. -c, --check check SHA sums against given list
  8. -p, --portable read files in portable mode
  9. produces same digest on Windows/Unix/Mac
  10. -t, --text read files in text mode (default)
  11. The following two options are useful only when verifying checksums:
  12. -s, --status don't output anything, status code shows success
  13. -w, --warn warn about improperly formatted SHA checksum lines
  14. -h, --help display this help and exit
  15. -v, --version output version information and exit
  16. The sums are computed as described in FIPS PUB 180-2. When checking,
  17. the input should be a former output of this program. The default mode
  18. is to print a line with checksum, a character indicating type (`*'
  19. for binary, `?' for portable, ` ' for text), and name for each FILE.


The shasum script provides the easiest and most convenient way to compute SHA message digests. Rather than writing a program, the user simply feeds data to the script via the command line, and waits for the results to be printed on standard output. Data can be fed to shasum through files, standard input, or both.

The following command shows how easy it is to compute digests for typical inputs such as the NIST test vector "abc":

  1. perl -e "print qw(abc)" | shasum

Or, if you want to use SHA-256 instead of the default SHA-1, simply say:

  1. perl -e "print qw(abc)" | shasum -a 256

Since shasum uses the same interface employed by the familiar sha1sum program (and its somewhat outmoded anscestor md5sum), you can install this script as a convenient drop-in replacement.


Copyright (c) 2003-2008 Mark Shelor <>.


shasum is implemented using the Perl module Digest::SHA or Digest::SHA::PurePerl.