3.\" 4.\" Standard preamble: 5.\" ====================================================================== 6.de Sh \" Subsection heading 7.br 8.if t .Sp 9.ne 5 10.PP 11\fB\\$1\fR 12.PP 13.. 14.de Sp \" Vertical space (when we can't use .PP) 15.if t .sp .5v 16.if n .sp 17.. 18.de Ip \" List item 19.br 20.ie \\n(.$>=3 .ne \\$3 21.el .ne 3 22.IP "\\$1" \\$2 23.. 24.de Vb \" Begin verbatim text 25.ft CW 26.nf 27.ne \\$1 28.. 29.de Ve \" End verbatim text 30.ft R 31 32.fi 33.. 34.\" Set up some character translations and predefined strings. \*(-- will 35.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 36.\" double quote, and \*(R" will give a right double quote. | will give a 37.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used 38.\" to do unbreakable dashes and therefore won't be available. \*(C` and 39.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> 40.tr \(*W-|\(bv\*(Tr 41.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 42.ie n \{\ 43. ds -- \(*W- 44. ds PI pi 45. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 46. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 47. ds L" "" 48. ds R" "" 49. ds C` "" 50. ds C' "" 51'br\} 52.el\{\ 53. ds -- \|\(em\| 54. ds PI \(*p 55. ds L" `` 56. ds R" '' 57'br\} 58.\" 59.\" If the F register is turned on, we'll generate index entries on stderr 60.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and 61.\" index entries marked with X<> in POD. Of course, you'll have to process 62.\" the output yourself in some meaningful fashion. 63.if \nF \{\ 64. de IX 65. tm Index:\\$1\t\\n%\t"\\$2" 66.. 67. nr % 0 68. rr F 69.\} 70.\" 71.\" For nroff, turn off justification. Always turn off hyphenation; it 72.\" makes way too many mistakes in technical documents. 73.hy 0 74.if n .na 75.\" 76.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). 77.\" Fear. Run. Save yourself. No user-serviceable parts. 78.bd B 3 79. \" fudge factors for nroff and troff 80.if n \{\ 81. ds #H 0 82. ds #V .8m 83. ds #F .3m 84. ds #[ \f1 85. ds #] \fP 86.\} 87.if t \{\ 88. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 89. ds #V .6m 90. ds #F 0 91. ds #[ \& 92. ds #] \& 93.\} 94. \" simple accents for nroff and troff 95.if n \{\ 96. ds ' \& 97. ds ` \& 98. ds ^ \& 99. ds , \& 100. ds ~ ~ 101. ds / 102.\} 103.if t \{\ 104. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 105. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 106. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 107. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 108. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 109. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 110.\} 111. \" troff and (daisy-wheel) nroff accents 112.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 113.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 114.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 115.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 116.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 117.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 118.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 119.ds ae a\h'-(\w'a'u*4/10)'e 120.ds Ae A\h'-(\w'A'u*4/10)'E 121. \" corrections for vroff 122.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 123.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 124. \" for low resolution devices (crt and lpr) 125.if \n(.H>23 .if \n(.V>19 \ 126\{\ 127. ds : e 128. ds 8 ss 129. ds o a 130. ds d- d\h'-1'\(ga 131. ds D- D\h'-1'\(hy 132. ds th \o'bp' 133. ds Th \o'LP' 134. ds ae ae 135. ds Ae AE 136.\} 137.rm #[ #] #H #V #F C 138.\" ====================================================================== 139.\" 140.IX Title "md5 3"
| 3.\" 4.\" Standard preamble: 5.\" ====================================================================== 6.de Sh \" Subsection heading 7.br 8.if t .Sp 9.ne 5 10.PP 11\fB\\$1\fR 12.PP 13.. 14.de Sp \" Vertical space (when we can't use .PP) 15.if t .sp .5v 16.if n .sp 17.. 18.de Ip \" List item 19.br 20.ie \\n(.$>=3 .ne \\$3 21.el .ne 3 22.IP "\\$1" \\$2 23.. 24.de Vb \" Begin verbatim text 25.ft CW 26.nf 27.ne \\$1 28.. 29.de Ve \" End verbatim text 30.ft R 31 32.fi 33.. 34.\" Set up some character translations and predefined strings. \*(-- will 35.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 36.\" double quote, and \*(R" will give a right double quote. | will give a 37.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used 38.\" to do unbreakable dashes and therefore won't be available. \*(C` and 39.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> 40.tr \(*W-|\(bv\*(Tr 41.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 42.ie n \{\ 43. ds -- \(*W- 44. ds PI pi 45. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 46. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 47. ds L" "" 48. ds R" "" 49. ds C` "" 50. ds C' "" 51'br\} 52.el\{\ 53. ds -- \|\(em\| 54. ds PI \(*p 55. ds L" `` 56. ds R" '' 57'br\} 58.\" 59.\" If the F register is turned on, we'll generate index entries on stderr 60.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and 61.\" index entries marked with X<> in POD. Of course, you'll have to process 62.\" the output yourself in some meaningful fashion. 63.if \nF \{\ 64. de IX 65. tm Index:\\$1\t\\n%\t"\\$2" 66.. 67. nr % 0 68. rr F 69.\} 70.\" 71.\" For nroff, turn off justification. Always turn off hyphenation; it 72.\" makes way too many mistakes in technical documents. 73.hy 0 74.if n .na 75.\" 76.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). 77.\" Fear. Run. Save yourself. No user-serviceable parts. 78.bd B 3 79. \" fudge factors for nroff and troff 80.if n \{\ 81. ds #H 0 82. ds #V .8m 83. ds #F .3m 84. ds #[ \f1 85. ds #] \fP 86.\} 87.if t \{\ 88. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 89. ds #V .6m 90. ds #F 0 91. ds #[ \& 92. ds #] \& 93.\} 94. \" simple accents for nroff and troff 95.if n \{\ 96. ds ' \& 97. ds ` \& 98. ds ^ \& 99. ds , \& 100. ds ~ ~ 101. ds / 102.\} 103.if t \{\ 104. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 105. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 106. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 107. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 108. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 109. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 110.\} 111. \" troff and (daisy-wheel) nroff accents 112.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 113.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 114.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 115.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 116.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 117.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 118.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 119.ds ae a\h'-(\w'a'u*4/10)'e 120.ds Ae A\h'-(\w'A'u*4/10)'E 121. \" corrections for vroff 122.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 123.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 124. \" for low resolution devices (crt and lpr) 125.if \n(.H>23 .if \n(.V>19 \ 126\{\ 127. ds : e 128. ds 8 ss 129. ds o a 130. ds d- d\h'-1'\(ga 131. ds D- D\h'-1'\(hy 132. ds th \o'bp' 133. ds Th \o'LP' 134. ds ae ae 135. ds Ae AE 136.\} 137.rm #[ #] #H #V #F C 138.\" ====================================================================== 139.\" 140.IX Title "md5 3"
|
142.UC 143.SH "NAME" 144\&\s-1MD2\s0, \s-1MD4\s0, \s-1MD5\s0, MD2_Init, MD2_Update, MD2_Final, MD4_Init, MD4_Update, 145MD4_Final, MD5_Init, MD5_Update, MD5_Final \- \s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 hash functions 146.SH "SYNOPSIS" 147.IX Header "SYNOPSIS" 148.Vb 1 149\& #include <openssl/md2.h> 150.Ve 151.Vb 2 152\& unsigned char *MD2(const unsigned char *d, unsigned long n, 153\& unsigned char *md); 154.Ve 155.Vb 4 156\& void MD2_Init(MD2_CTX *c); 157\& void MD2_Update(MD2_CTX *c, const unsigned char *data, 158\& unsigned long len); 159\& void MD2_Final(unsigned char *md, MD2_CTX *c); 160.Ve 161.Vb 1 162\& #include <openssl/md4.h> 163.Ve 164.Vb 2 165\& unsigned char *MD4(const unsigned char *d, unsigned long n, 166\& unsigned char *md); 167.Ve 168.Vb 4 169\& void MD4_Init(MD4_CTX *c); 170\& void MD4_Update(MD4_CTX *c, const void *data, 171\& unsigned long len); 172\& void MD4_Final(unsigned char *md, MD4_CTX *c); 173.Ve 174.Vb 1 175\& #include <openssl/md5.h> 176.Ve 177.Vb 2 178\& unsigned char *MD5(const unsigned char *d, unsigned long n, 179\& unsigned char *md); 180.Ve 181.Vb 4 182\& void MD5_Init(MD5_CTX *c); 183\& void MD5_Update(MD5_CTX *c, const void *data, 184\& unsigned long len); 185\& void MD5_Final(unsigned char *md, MD5_CTX *c); 186.Ve 187.SH "DESCRIPTION" 188.IX Header "DESCRIPTION" 189\&\s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 are cryptographic hash functions with a 128 bit output. 190.PP 191\&\fIMD2()\fR, \fIMD4()\fR, and \fIMD5()\fR compute the \s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 message digest 192of the \fBn\fR bytes at \fBd\fR and place it in \fBmd\fR (which must have space 193for \s-1MD2_DIGEST_LENGTH\s0 == \s-1MD4_DIGEST_LENGTH\s0 == \s-1MD5_DIGEST_LENGTH\s0 == 16 194bytes of output). If \fBmd\fR is \s-1NULL\s0, the digest is placed in a static 195array. 196.PP 197The following functions may be used if the message is not completely 198stored in memory: 199.PP 200\&\fIMD2_Init()\fR initializes a \fB\s-1MD2_CTX\s0\fR structure. 201.PP 202\&\fIMD2_Update()\fR can be called repeatedly with chunks of the message to 203be hashed (\fBlen\fR bytes at \fBdata\fR). 204.PP 205\&\fIMD2_Final()\fR places the message digest in \fBmd\fR, which must have space 206for \s-1MD2_DIGEST_LENGTH\s0 == 16 bytes of output, and erases the \fB\s-1MD2_CTX\s0\fR. 207.PP 208\&\fIMD4_Init()\fR, \fIMD4_Update()\fR, \fIMD4_Final()\fR, \fIMD5_Init()\fR, \fIMD5_Update()\fR, and 209\&\fIMD5_Final()\fR are analogous using an \fB\s-1MD4_CTX\s0\fR and \fB\s-1MD5_CTX\s0\fR structure. 210.PP 211Applications should use the higher level functions 212EVP_DigestInit(3) 213etc. instead of calling the hash functions directly. 214.SH "NOTE" 215.IX Header "NOTE" 216\&\s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 are recommended only for compatibility with existing 217applications. In new applications, \s-1SHA-1\s0 or \s-1RIPEMD-160\s0 should be 218preferred. 219.SH "RETURN VALUES" 220.IX Header "RETURN VALUES" 221\&\fIMD2()\fR, \fIMD4()\fR, and \fIMD5()\fR return pointers to the hash value. 222.PP 223\&\fIMD2_Init()\fR, \fIMD2_Update()\fR, \fIMD2_Final()\fR, \fIMD4_Init()\fR, \fIMD4_Update()\fR, 224\&\fIMD4_Final()\fR, \fIMD5_Init()\fR, \fIMD5_Update()\fR, and \fIMD5_Final()\fR do not return 225values. 226.SH "CONFORMING TO" 227.IX Header "CONFORMING TO" 228\&\s-1RFC\s0 1319, \s-1RFC\s0 1320, \s-1RFC\s0 1321 229.SH "SEE ALSO" 230.IX Header "SEE ALSO" 231sha(3), ripemd(3), EVP_DigestInit(3) 232.SH "HISTORY" 233.IX Header "HISTORY" 234\&\fIMD2()\fR, \fIMD2_Init()\fR, \fIMD2_Update()\fR \fIMD2_Final()\fR, \fIMD5()\fR, \fIMD5_Init()\fR, 235\&\fIMD5_Update()\fR and \fIMD5_Final()\fR are available in all versions of SSLeay 236and OpenSSL. 237.PP 238\&\fIMD4()\fR, \fIMD4_Init()\fR, and \fIMD4_Update()\fR are available in OpenSSL 0.9.6 and 239above.
| 142.UC 143.SH "NAME" 144\&\s-1MD2\s0, \s-1MD4\s0, \s-1MD5\s0, MD2_Init, MD2_Update, MD2_Final, MD4_Init, MD4_Update, 145MD4_Final, MD5_Init, MD5_Update, MD5_Final \- \s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 hash functions 146.SH "SYNOPSIS" 147.IX Header "SYNOPSIS" 148.Vb 1 149\& #include <openssl/md2.h> 150.Ve 151.Vb 2 152\& unsigned char *MD2(const unsigned char *d, unsigned long n, 153\& unsigned char *md); 154.Ve 155.Vb 4 156\& void MD2_Init(MD2_CTX *c); 157\& void MD2_Update(MD2_CTX *c, const unsigned char *data, 158\& unsigned long len); 159\& void MD2_Final(unsigned char *md, MD2_CTX *c); 160.Ve 161.Vb 1 162\& #include <openssl/md4.h> 163.Ve 164.Vb 2 165\& unsigned char *MD4(const unsigned char *d, unsigned long n, 166\& unsigned char *md); 167.Ve 168.Vb 4 169\& void MD4_Init(MD4_CTX *c); 170\& void MD4_Update(MD4_CTX *c, const void *data, 171\& unsigned long len); 172\& void MD4_Final(unsigned char *md, MD4_CTX *c); 173.Ve 174.Vb 1 175\& #include <openssl/md5.h> 176.Ve 177.Vb 2 178\& unsigned char *MD5(const unsigned char *d, unsigned long n, 179\& unsigned char *md); 180.Ve 181.Vb 4 182\& void MD5_Init(MD5_CTX *c); 183\& void MD5_Update(MD5_CTX *c, const void *data, 184\& unsigned long len); 185\& void MD5_Final(unsigned char *md, MD5_CTX *c); 186.Ve 187.SH "DESCRIPTION" 188.IX Header "DESCRIPTION" 189\&\s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 are cryptographic hash functions with a 128 bit output. 190.PP 191\&\fIMD2()\fR, \fIMD4()\fR, and \fIMD5()\fR compute the \s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 message digest 192of the \fBn\fR bytes at \fBd\fR and place it in \fBmd\fR (which must have space 193for \s-1MD2_DIGEST_LENGTH\s0 == \s-1MD4_DIGEST_LENGTH\s0 == \s-1MD5_DIGEST_LENGTH\s0 == 16 194bytes of output). If \fBmd\fR is \s-1NULL\s0, the digest is placed in a static 195array. 196.PP 197The following functions may be used if the message is not completely 198stored in memory: 199.PP 200\&\fIMD2_Init()\fR initializes a \fB\s-1MD2_CTX\s0\fR structure. 201.PP 202\&\fIMD2_Update()\fR can be called repeatedly with chunks of the message to 203be hashed (\fBlen\fR bytes at \fBdata\fR). 204.PP 205\&\fIMD2_Final()\fR places the message digest in \fBmd\fR, which must have space 206for \s-1MD2_DIGEST_LENGTH\s0 == 16 bytes of output, and erases the \fB\s-1MD2_CTX\s0\fR. 207.PP 208\&\fIMD4_Init()\fR, \fIMD4_Update()\fR, \fIMD4_Final()\fR, \fIMD5_Init()\fR, \fIMD5_Update()\fR, and 209\&\fIMD5_Final()\fR are analogous using an \fB\s-1MD4_CTX\s0\fR and \fB\s-1MD5_CTX\s0\fR structure. 210.PP 211Applications should use the higher level functions 212EVP_DigestInit(3) 213etc. instead of calling the hash functions directly. 214.SH "NOTE" 215.IX Header "NOTE" 216\&\s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 are recommended only for compatibility with existing 217applications. In new applications, \s-1SHA-1\s0 or \s-1RIPEMD-160\s0 should be 218preferred. 219.SH "RETURN VALUES" 220.IX Header "RETURN VALUES" 221\&\fIMD2()\fR, \fIMD4()\fR, and \fIMD5()\fR return pointers to the hash value. 222.PP 223\&\fIMD2_Init()\fR, \fIMD2_Update()\fR, \fIMD2_Final()\fR, \fIMD4_Init()\fR, \fIMD4_Update()\fR, 224\&\fIMD4_Final()\fR, \fIMD5_Init()\fR, \fIMD5_Update()\fR, and \fIMD5_Final()\fR do not return 225values. 226.SH "CONFORMING TO" 227.IX Header "CONFORMING TO" 228\&\s-1RFC\s0 1319, \s-1RFC\s0 1320, \s-1RFC\s0 1321 229.SH "SEE ALSO" 230.IX Header "SEE ALSO" 231sha(3), ripemd(3), EVP_DigestInit(3) 232.SH "HISTORY" 233.IX Header "HISTORY" 234\&\fIMD2()\fR, \fIMD2_Init()\fR, \fIMD2_Update()\fR \fIMD2_Final()\fR, \fIMD5()\fR, \fIMD5_Init()\fR, 235\&\fIMD5_Update()\fR and \fIMD5_Final()\fR are available in all versions of SSLeay 236and OpenSSL. 237.PP 238\&\fIMD4()\fR, \fIMD4_Init()\fR, and \fIMD4_Update()\fR are available in OpenSSL 0.9.6 and 239above.
|