1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
.\" $OpenBSD: md5.1,v 1.15 2003/03/14 09:59:20 jmc Exp $
.\"
.\" Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd June 4, 2001
.Dt MD5 1
.Os
.Sh NAME
.Nm md5
.Nd calculate a message-digest fingerprint (checksum) for a file
.Sh SYNOPSIS
.Nm md5
.Oo
.Fl p | Fl t | Fl x |
.Fl s Ar string |
.Fl c Ar [ file ... ] |
.Ar file ...
.Oc
.Sh DESCRIPTION
.Nm
takes as input a message of arbitrary length and produces
as output a 128-bit "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.
.Pp
The
.Em MD5
algorithm is 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
.Em RSA .
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl s Ar string
Prints a checksum of the given
.Ar string .
.It Fl c Ar [ file ... ]
Compares all checksums in
.Ar file
with newly computed checksums for the files mentioned in
.Ar file .
Output consists of the digest used, the file name,
and an OK or FAILED for the result of the comparison.
This will validate any of the supported checksums in
.Ar file ,
including RMD-160 and SHA-1.
If no file is given, stdin is used.
.It Fl p
Echoes stdin to stdout and appends the
.Em MD5
sum to stdout.
.It Fl t
Runs a built-in time trial.
.It Fl x
Runs a built-in test script.
.El
.Pp
The MD5 sum of each file listed on the command line is printed after the
options are processed.
.Sh SEE ALSO
.Xr cksum 1 ,
.Xr rmd160 1 ,
.Xr sha1 1
.Pp
RFC 1321 describes in detail the MD2, MD4, and MD5 message-digest algorithms.
|