154359Sroberto=pod 2285612Sdelphij 3285612Sdelphij=head1 NAME 4285612Sdelphij 5285612SdelphijEVP_sha224, 6285612SdelphijEVP_sha256, 7285612SdelphijEVP_sha512_224, 8285612SdelphijEVP_sha512_256, 954359SrobertoEVP_sha384, 1054359SrobertoEVP_sha512 11285612Sdelphij- SHA-2 For EVP 12285612Sdelphij 1354359Sroberto=head1 SYNOPSIS 14182007Sroberto 15285612Sdelphij #include <openssl/evp.h> 1654359Sroberto 1754359Sroberto const EVP_MD *EVP_sha224(void); 1854359Sroberto const EVP_MD *EVP_sha256(void); 19285612Sdelphij const EVP_MD *EVP_sha512_224(void); 2054359Sroberto const EVP_MD *EVP_sha512_256(void); 2154359Sroberto const EVP_MD *EVP_sha384(void); 22285612Sdelphij const EVP_MD *EVP_sha512(void); 23285612Sdelphij 24285612Sdelphij=head1 DESCRIPTION 25285612Sdelphij 2654359SrobertoSHA-2 (Secure Hash Algorithm 2) is a family of cryptographic hash functions 27285612Sdelphijstandardized in NIST FIPS 180-4, first published in 2001. 28285612Sdelphij 29285612Sdelphij=over 4 30285612Sdelphij 31285612Sdelphij=item EVP_sha224(), 32285612SdelphijEVP_sha256(), 33285612SdelphijEVP_sha512_224, 34285612SdelphijEVP_sha512_256, 35285612SdelphijEVP_sha384(), 36285612SdelphijEVP_sha512() 37285612Sdelphij 38285612SdelphijThe SHA-2 SHA-224, SHA-256, SHA-512/224, SHA512/256, SHA-384 and SHA-512 39285612Sdelphijalgorithms, which generate 224, 256, 224, 256, 384 and 512 bits 40285612Sdelphijrespectively of output from a given input. 41285612Sdelphij 42285612SdelphijThe two algorithms: SHA-512/224 and SHA512/256 are truncated forms of the 43285612SdelphijSHA-512 algorithm. They are distinct from SHA-224 and SHA-256 even though 44285612Sdelphijtheir outputs are of the same size. 45285612Sdelphij 46285612Sdelphij=back 47285612Sdelphij 48285612Sdelphij=head1 NOTES 4954359Sroberto 50285612SdelphijDevelopers should be aware of the negative performance implications of 51285612Sdelphijcalling these functions multiple times and should consider using 52285612SdelphijL<EVP_MD_fetch(3)> with L<EVP_MD-SHA2(7)>instead. 53285612SdelphijSee L<crypto(7)/Performance> for further information. 54285612Sdelphij 55285612Sdelphij=head1 RETURN VALUES 5654359Sroberto 57285612SdelphijThese functions return a B<EVP_MD> structure that contains the 58285612Sdelphijimplementation of the message digest. See L<EVP_MD_meth_new(3)> for 59285612Sdelphijdetails of the B<EVP_MD> structure. 6054359Sroberto 61285612Sdelphij=head1 CONFORMING TO 62285612Sdelphij 63285612SdelphijNIST FIPS 180-4. 64285612Sdelphij 65285612Sdelphij=head1 SEE ALSO 66285612Sdelphij 67285612SdelphijL<evp(7)>, 68285612SdelphijL<EVP_DigestInit(3)> 69285612Sdelphij 70285612Sdelphij=head1 COPYRIGHT 71285612Sdelphij 7254359SrobertoCopyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved. 7354359Sroberto 7454359SrobertoLicensed under the Apache License 2.0 (the "License"). You may not use 7554359Srobertothis file except in compliance with the License. You can obtain a copy 7654359Srobertoin the file LICENSE in the source distribution or at 7754359SrobertoL<https://www.openssl.org/source/license.html>. 7854359Sroberto 7954359Sroberto=cut 8054359Sroberto 81285612Sdelphij