1.\" $FreeBSD: stable/10/sbin/md5/md5.1 315150 2017-03-12 13:20:07Z des $ 2.Dd April 22, 2016 3.Dt MD5 1 4.Os 5.Sh NAME 6.Nm md5 , sha1 , sha256 , sha384 , sha512, sha512t256, rmd160 7.Nd calculate a message-digest fingerprint (checksum) for a file 8.Sh SYNOPSIS 9.Nm md5 10.Op Fl pqrtx 11.Op Fl c Ar string 12.Op Fl s Ar string 13.Op Ar 14.Nm sha1 15.Op Fl pqrtx 16.Op Fl c Ar string 17.Op Fl s Ar string 18.Op Ar 19.Nm sha256 20.Op Fl pqrtx 21.Op Fl c Ar string 22.Op Fl s Ar string 23.Op Ar 24.Nm sha384 25.Op Fl pqrtx 26.Op Fl c Ar string 27.Op Fl s Ar string 28.Op Ar 29.Nm sha512 30.Op Fl pqrtx 31.Op Fl c Ar string 32.Op Fl s Ar string 33.Op Ar 34.Nm sha512t256 35.Op Fl pqrtx 36.Op Fl c Ar string 37.Op Fl s Ar string 38.Op Ar 39.Nm rmd160 40.Op Fl pqrtx 41.Op Fl c Ar string 42.Op Fl s Ar string 43.Op Ar 44.Sh DESCRIPTION 45The 46.Nm md5 , sha1 , sha256 , sha384 , sha512, sha512t256 47and 48.Nm rmd160 49utilities take as input a message of arbitrary length and produce as 50output a 51.Dq fingerprint 52or 53.Dq message digest 54of the input. 55It is conjectured that it is computationally infeasible to 56produce two messages having the same message digest, or to produce any 57message having a given prespecified target message digest. 58The 59.Tn MD5 , SHA-1 , SHA-256 , SHA-384 , SHA-512 60and 61.Tn RIPEMD-160 62algorithms are intended for digital signature applications, where a 63large file must be 64.Dq compressed 65in a secure manner before being encrypted with a private 66(secret) 67key under a public-key cryptosystem such as 68.Tn RSA . 69.Pp 70The 71.Tn MD5 72and 73.Tn SHA-1 74algorithms have been proven to be vulnerable to practical collision 75attacks and should not be relied upon to produce unique outputs, nor 76should they be used as part of a cryptographic signature scheme. 77As of 2017-03-02, there is no publicly known method to 78.Em reverse 79either algorithm, i.e. to find an input that produces a specific 80output. 81.Pp 82.Tn SHA-512t256 83is a version of 84.Tn SHA-512 85truncated to only 256 bits. 86On 64-bit hardware, this algorithm is approximately 50% faster than 87.Tn SHA-256 88but with the same level of security. 89The hashes are not interchangeable. 90.Pp 91It is recommended that all new applications use 92.Tn SHA-512 93instead of one of the other hash functions. 94.Pp 95The following options may be used in any combination and must 96precede any files named on the command line. 97The hexadecimal checksum of each file listed on the command line is printed 98after the options are processed. 99.Bl -tag -width indent 100.It Fl c Ar string 101Compare the digest of the file against this string. 102.Pq Note that this option is not yet useful if multiple files are specified. 103.It Fl s Ar string 104Print a checksum of the given 105.Ar string . 106.It Fl p 107Echo stdin to stdout and append the checksum to stdout. 108.It Fl q 109Quiet mode \(em only the checksum is printed out. 110Overrides the 111.Fl r 112option. 113.It Fl r 114Reverses the format of the output. 115This helps with visual diffs. 116Does nothing 117when combined with the 118.Fl ptx 119options. 120.It Fl t 121Run a built-in time trial. 122.It Fl x 123Run a built-in test script. 124.El 125.Sh EXIT STATUS 126The 127.Nm md5 , sha1 , sha256 , sha512, sha512t256 128and 129.Nm rmd160 130utilities exit 0 on success, 1311 if at least one of the input files could not be read, 132and 2 if at least one file does not have the same hash as the 133.Fl c 134option. 135.Sh SEE ALSO 136.Xr cksum 1 , 137.Xr md5 3 , 138.Xr ripemd 3 , 139.Xr sha 3 , 140.Xr sha256 3 , 141.Xr sha384 3 , 142.Xr sha512 3 143.Rs 144.%A R. Rivest 145.%T The MD5 Message-Digest Algorithm 146.%O RFC1321 147.Re 148.Rs 149.%A J. Burrows 150.%T The Secure Hash Standard 151.%O FIPS PUB 180-2 152.Re 153.Rs 154.%A D. Eastlake and P. Jones 155.%T US Secure Hash Algorithm 1 156.%O RFC 3174 157.Re 158.Pp 159RIPEMD-160 is part of the ISO draft standard 160.Qq ISO/IEC DIS 10118-3 161on dedicated hash functions. 162.Pp 163Secure Hash Standard (SHS): 164.Pa http://csrc.nist.gov/cryptval/shs.html . 165.Pp 166The RIPEMD-160 page: 167.Pa http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html . 168.Sh ACKNOWLEDGMENTS 169This program is placed in the public domain for free general use by 170RSA Data Security. 171.Pp 172Support for SHA-1 and RIPEMD-160 has been added by 173.An Oliver Eikemeier Aq Mt eik@FreeBSD.org . 174