]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/MD5.pod
ERR_put_error.pod: fix the name of function ERR_add_error_vdata()
[thirdparty/openssl.git] / doc / man3 / MD5.pod
CommitLineData
9dbc41d7
UM
1=pod
2
3=head1 NAME
4
3009458e
RL
5MD2, MD4, MD5, MD2_Init, MD2_Update, MD2_Final, MD4_Init, MD4_Update,
6MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions
9dbc41d7
UM
7
8=head1 SYNOPSIS
9
10 #include <openssl/md2.h>
11
12 unsigned char *MD2(const unsigned char *d, unsigned long n,
13 unsigned char *md);
14
8a4af56f
NL
15 int MD2_Init(MD2_CTX *c);
16 int MD2_Update(MD2_CTX *c, const unsigned char *data,
9dbc41d7 17 unsigned long len);
8a4af56f 18 int MD2_Final(unsigned char *md, MD2_CTX *c);
9dbc41d7
UM
19
20
3009458e
RL
21 #include <openssl/md4.h>
22
23 unsigned char *MD4(const unsigned char *d, unsigned long n,
24 unsigned char *md);
25
8a4af56f
NL
26 int MD4_Init(MD4_CTX *c);
27 int MD4_Update(MD4_CTX *c, const void *data,
3009458e 28 unsigned long len);
8a4af56f 29 int MD4_Final(unsigned char *md, MD4_CTX *c);
3009458e
RL
30
31
9dbc41d7
UM
32 #include <openssl/md5.h>
33
34 unsigned char *MD5(const unsigned char *d, unsigned long n,
35 unsigned char *md);
36
8a4af56f
NL
37 int MD5_Init(MD5_CTX *c);
38 int MD5_Update(MD5_CTX *c, const void *data,
9dbc41d7 39 unsigned long len);
8a4af56f 40 int MD5_Final(unsigned char *md, MD5_CTX *c);
9dbc41d7
UM
41
42=head1 DESCRIPTION
43
3009458e 44MD2, MD4, and MD5 are cryptographic hash functions with a 128 bit output.
9dbc41d7 45
3009458e
RL
46MD2(), MD4(), and MD5() compute the MD2, MD4, and MD5 message digest
47of the B<n> bytes at B<d> and place it in B<md> (which must have space
48for MD2_DIGEST_LENGTH == MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH == 16
49bytes of output). If B<md> is NULL, the digest is placed in a static
50array.
9dbc41d7
UM
51
52The following functions may be used if the message is not completely
53stored in memory:
54
55MD2_Init() initializes a B<MD2_CTX> structure.
56
57MD2_Update() can be called repeatedly with chunks of the message to
58be hashed (B<len> bytes at B<data>).
59
60MD2_Final() places the message digest in B<md>, which must have space
61for MD2_DIGEST_LENGTH == 16 bytes of output, and erases the B<MD2_CTX>.
62
3009458e
RL
63MD4_Init(), MD4_Update(), MD4_Final(), MD5_Init(), MD5_Update(), and
64MD5_Final() are analogous using an B<MD4_CTX> and B<MD5_CTX> structure.
9dbc41d7 65
d52c9734 66Applications should use the higher level functions
9b86974e 67L<EVP_DigestInit(3)>
4d524e10 68etc. instead of calling the hash functions directly.
4facdbb5 69
9dbc41d7
UM
70=head1 NOTE
71
3009458e 72MD2, MD4, and MD5 are recommended only for compatibility with existing
9dbc41d7
UM
73applications. In new applications, SHA-1 or RIPEMD-160 should be
74preferred.
75
76=head1 RETURN VALUES
77
1bc74519 78MD2(), MD4(), and MD5() return pointers to the hash value.
9dbc41d7 79
3009458e 80MD2_Init(), MD2_Update(), MD2_Final(), MD4_Init(), MD4_Update(),
8a4af56f
NL
81MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() return 1 for
82success, 0 otherwise.
9dbc41d7
UM
83
84=head1 CONFORMING TO
85
3009458e 86RFC 1319, RFC 1320, RFC 1321
9dbc41d7
UM
87
88=head1 SEE ALSO
89
9b86974e 90L<EVP_DigestInit(3)>
3009458e 91
e2f92610
RS
92=head1 COPYRIGHT
93
94Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
95
96Licensed under the OpenSSL license (the "License"). You may not use
97this file except in compliance with the License. You can obtain a copy
98in the file LICENSE in the source distribution or at
99L<https://www.openssl.org/source/license.html>.
100
101=cut