The
md5 , sha1 , sha256
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
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 not yet (2001-09-03) been broken, but sufficient attacks have been
made that its security is in some doubt.
The attacks on
MD5
are in the nature of finding
``collisions''
--- that is, multiple
inputs which hash to the same value; it is still unlikely for an attacker
to be able to determine the exact original input given a hash value.
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.
-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
option.
-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.
EXIT STATUS
The
md5 , sha1 , sha256
and
rmd160
utilities exit 0 on success,
and 1 if at least one of the input files could not be read.