Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MD5(1)                  FreeBSD General Commands Manual                 MD5(1)

     md5, sha1, sha256, sha384, sha512, sha512t256, rmd160 - calculate a
     message-digest fingerprint (checksum) for a file

     md5 [-pqrtx] [-c string] [-s string] [file ...]
     sha1 [-pqrtx] [-c string] [-s string] [file ...]
     sha256 [-pqrtx] [-c string] [-s string] [file ...]
     sha384 [-pqrtx] [-c string] [-s string] [file ...]
     sha512 [-pqrtx] [-c string] [-s string] [file ...]
     sha512t256 [-pqrtx] [-c string] [-s string] [file ...]
     rmd160 [-pqrtx] [-c string] [-s string] [file ...]

     The md5, sha1, sha256, sha384, sha512, sha512t256 and rmd160 utilities
     take as input a message of arbitrary length and produce as output a
     ``fingerprint'' or ``message digest'' of the input.  It is conjectured
     that it is computationally infeasible to produce two messages having the
     same message digest, or to produce any message having a given
     prespecified target message digest.  The MD5, SHA-1, SHA-256, SHA-384,
     SHA-512 and RIPEMD-160 algorithms are intended for digital signature
     applications, where a large file must be ``compressed'' in a secure
     manner before being encrypted with a private (secret) key under a public-
     key cryptosystem such as RSA.

     MD5 has been completely broken as far as finding collisions is concerned,
     and should not be relied upon to produce unique outputs.  This also means
     that MD5 should not be used as part of a cryptographic signature scheme.
     At the current time (2014-05-17) there is no publicly known method to
     ``reverse'' MD5, i.e., to find an input given a hash value.

     SHA-1 currently (2014-05-17) has no known collisions, but an attack has
     been found which is faster than a brute-force search, placing the
     security of SHA-1 in doubt.

     SHA-512t256 is a version of SHA-512 truncated to only 256 bits.  On
     64-bit hardware, this algorithm is approximately 50% faster than SHA-256
     but with the same level of security.  The hashes are not interchangeable.

     It is recommended that all new applications use SHA-512 instead of one of
     the other hash functions.

     The following options may be used in any combination and must precede any
     files named on the command line.  The hexadecimal checksum of each file
     listed on the command line is printed after the options are processed.

     -c string
             Compare the digest of the file against this string.  (Note that
             this option is not yet useful if multiple files are specified.)

     -s string
             Print a checksum of the given string.

     -p      Echo stdin to stdout and append the checksum to stdout.

     -q      Quiet mode -- only the checksum is printed out.  Overrides the -r

     -r      Reverses the format of the output.  This helps with visual diffs.
             Does nothing when combined with the -ptx options.

     -t      Run a built-in time trial.

     -x      Run a built-in test script.

     The md5, sha1, sha256, sha512, sha512t256 and rmd160 utilities exit 0 on
     success, 1 if at least one of the input files could not be read, and 2 if
     at least one file does not have the same hash as the -c option.

     cksum(1), md5(3), ripemd(3), sha(3), sha256(3), sha384(3), sha512(3)

     R. Rivest, The MD5 Message-Digest Algorithm, RFC1321.

     J. Burrows, The Secure Hash Standard, FIPS PUB 180-2.

     D. Eastlake and P. Jones, US Secure Hash Algorithm 1, RFC 3174.

     RIPEMD-160 is part of the ISO draft standard "ISO/IEC DIS 10118-3" on
     dedicated hash functions.

     Secure Hash Standard (SHS):

     The RIPEMD-160 page:

     This program is placed in the public domain for free general use by RSA
     Data Security.

     Support for SHA-1 and RIPEMD-160 has been added by Oliver Eikemeier

FreeBSD 11.0-PRERELEASE         April 22, 2016         FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help