=pod

=head1 NAME

EVP_md2
- MD2 For EVP

=head1 SYNOPSIS

 #include <openssl/evp.h>

 const EVP_MD *EVP_md2(void);

=head1 DESCRIPTION

MD2 is a cryptographic hash function standardized in RFC 1319 and designed by
Ronald Rivest. This implementation is only available with the legacy provider.

=over 4

=item EVP_md2()

The MD2 algorithm which produces a 128-bit output from a given input.

=back


=head1 RETURN VALUES

These functions return a B<EVP_MD> structure that contains the
implementation of the symmetric cipher. See L<EVP_MD_meth_new(3)> for
details of the B<EVP_MD> structure.

=head1 CONFORMING TO

IETF RFC 1319.

=head1 SEE ALSO

L<evp(7)>,
L<provider(7)>,
L<EVP_DigestInit(3)>

=head1 COPYRIGHT

Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut

