xref: /openssl/doc/man3/EVP_md5.pod (revision b6eb95fa)
1=pod
2
3=head1 NAME
4
5EVP_md5,
6EVP_md5_sha1
7- MD5 For EVP
8
9=head1 SYNOPSIS
10
11 #include <openssl/evp.h>
12
13 const EVP_MD *EVP_md5(void);
14 const EVP_MD *EVP_md5_sha1(void);
15
16=head1 DESCRIPTION
17
18MD5 is a cryptographic hash function standardized in RFC 1321 and designed by
19Ronald Rivest.
20
21The CMU Software Engineering Institute considers MD5 unsuitable for further
22use since its security has been severely compromised.
23
24=over 4
25
26=item EVP_md5()
27
28The MD5 algorithm which produces a 128-bit output from a given input.
29
30=item EVP_md5_sha1()
31
32A hash algorithm of SSL v3 that combines MD5 with SHA-1 as described in RFC
336101.
34
35WARNING: this algorithm is not intended for non-SSL usage.
36
37=back
38
39=head1 NOTES
40
41Developers should be aware of the negative performance implications of
42calling these functions multiple times and should consider using
43L<EVP_MD_fetch(3)> with L<EVP_MD-MD5(7)> or L<EVP_MD-MD5-SHA1(7)> instead.
44See L<crypto(7)/Performance> for further information.
45
46=head1 RETURN VALUES
47
48These functions return a B<EVP_MD> structure that contains the
49implementation of the message digest. See L<EVP_MD_meth_new(3)> for
50details of the B<EVP_MD> structure.
51
52=head1 CONFORMING TO
53
54IETF RFC 1321.
55
56=head1 SEE ALSO
57
58L<evp(7)>,
59L<EVP_DigestInit(3)>
60
61=head1 COPYRIGHT
62
63Copyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.
64
65Licensed under the Apache License 2.0 (the "License").  You may not use
66this file except in compliance with the License.  You can obtain a copy
67in the file LICENSE in the source distribution or at
68L<https://www.openssl.org/source/license.html>.
69
70=cut
71
72