summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/doc/MD5.pod
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/doc/MD5.pod')
-rw-r--r--src/lib/libcrypto/doc/MD5.pod67
1 files changed, 54 insertions, 13 deletions
diff --git a/src/lib/libcrypto/doc/MD5.pod b/src/lib/libcrypto/doc/MD5.pod
index 056f94bd9e..b0edd5416f 100644
--- a/src/lib/libcrypto/doc/MD5.pod
+++ b/src/lib/libcrypto/doc/MD5.pod
@@ -2,10 +2,33 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5MD5, MD5_Init, MD5_Update, MD5_Final - MD5 hash functions 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
6 7
7=head1 SYNOPSIS 8=head1 SYNOPSIS
8 9
10 #include <openssl/md2.h>
11
12 unsigned char *MD2(const unsigned char *d, unsigned long n,
13 unsigned char *md);
14
15 int MD2_Init(MD2_CTX *c);
16 int MD2_Update(MD2_CTX *c, const unsigned char *data,
17 unsigned long len);
18 int MD2_Final(unsigned char *md, MD2_CTX *c);
19
20
21 #include <openssl/md4.h>
22
23 unsigned char *MD4(const unsigned char *d, unsigned long n,
24 unsigned char *md);
25
26 int MD4_Init(MD4_CTX *c);
27 int MD4_Update(MD4_CTX *c, const void *data,
28 unsigned long len);
29 int MD4_Final(unsigned char *md, MD4_CTX *c);
30
31
9 #include <openssl/md5.h> 32 #include <openssl/md5.h>
10 33
11 unsigned char *MD5(const unsigned char *d, unsigned long n, 34 unsigned char *MD5(const unsigned char *d, unsigned long n,
@@ -18,43 +41,61 @@ MD5, MD5_Init, MD5_Update, MD5_Final - MD5 hash functions
18 41
19=head1 DESCRIPTION 42=head1 DESCRIPTION
20 43
21MD5 is a cryptographic hash function with a 128 bit output. 44MD2, MD4, and MD5 are cryptographic hash functions with a 128 bit output.
22 45
23MD5() computes the MD5 message digest of the B<n> bytes at B<d> and 46MD2(), MD4(), and MD5() compute the MD2, MD4, and MD5 message digest
24places it in B<md> (which must have space for MD5_DIGEST_LENGTH == 16 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
25bytes of output). If B<md> is NULL, the digest is placed in a static 49bytes of output). If B<md> is NULL, the digest is placed in a static
26array. 50array.
27 51
28The following functions may be used if the message is not completely 52The following functions may be used if the message is not completely
29stored in memory: 53stored in memory:
30 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
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.
65
31Applications should use the higher level functions 66Applications should use the higher level functions
32L<EVP_DigestInit(3)|EVP_DigestInit(3)> 67L<EVP_DigestInit(3)|EVP_DigestInit(3)>
33etc. instead of calling the hash functions directly. 68etc. instead of calling the hash functions directly.
34 69
35=head1 NOTE 70=head1 NOTE
36 71
37MD5 is recommended only for compatibility with legacy applications. 72MD2, MD4, and MD5 are recommended only for compatibility with existing
38In new applications, SHA-2 should be preferred. 73applications. In new applications, SHA-1 or RIPEMD-160 should be
74preferred.
39 75
40=head1 RETURN VALUES 76=head1 RETURN VALUES
41 77
42MD5() returns a pointer to the hash value. 78MD2(), MD4(), and MD5() return pointers to the hash value.
43 79
44MD5_Init(), MD5_Update(), and MD5_Final() return 1 for success, 0 80MD2_Init(), MD2_Update(), MD2_Final(), MD4_Init(), MD4_Update(),
45otherwise. 81MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() return 1 for
82success, 0 otherwise.
46 83
47=head1 CONFORMING TO 84=head1 CONFORMING TO
48 85
49RFC 1321 86RFC 1319, RFC 1320, RFC 1321
50 87
51=head1 SEE ALSO 88=head1 SEE ALSO
52 89
53L<EVP_DigestInit(3)|EVP_DigestInit(3)> 90L<sha(3)|sha(3)>, L<ripemd(3)|ripemd(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
54 91
55=head1 HISTORY 92=head1 HISTORY
56 93
57MD5(), MD5_Init(), MD5_Update() and MD5_Final() are available in all 94MD2(), MD2_Init(), MD2_Update() MD2_Final(), MD5(), MD5_Init(),
58versions of OpenSSL. 95MD5_Update() and MD5_Final() are available in all versions of SSLeay
96and OpenSSL.
97
98MD4(), MD4_Init(), and MD4_Update() are available in OpenSSL 0.9.6 and
99above.
59 100
60=cut 101=cut