SHA512   SHA384   SHA512/256   SHA512/224  

The SHA512 hash function from the SHA-2 family of algorithms is designed to generate "fingerprints" or "digests" for messages of arbitrary length. It is used in various applications or components related to information security.

SHA-256 and SHA-512, and to a lesser extent SHA-224 and SHA-384, are subject to length extension attacks, making it unsafe for some applications. Therefore, it is generally recommended to switch to SHA-3 for 512-bit hashes and use SHA-512/224 and SHA-512/256 instead of SHA-224 and SHA-256. It also happens faster, than SHA-224 and SHA-256 on x86-64, since SHA-512 works on 64 bits instead of 32 bit words.

SHA-256 and SHA-512 are new hash functions computed with 32-bit and 64-bit words respectively. They use different numbers of shift and additive constants, but their structures are otherwise almost identical, differing only in the number of rounds. SHA-224 and SHA-384 are simply truncated versions of the first two, computed with different initial value. SHA-512/224 and SHA-512/256 are also truncated versions of SHA-512, but initial values are generated using the method described in the Federal the information processing standards (FIPS) PUB 180-4. SHA-2 was published in 2001 by the national Institute of standards and technology (NIST) U.S. Federal standard (FIPS). The SHA-2 family of algorithms is patented in us patent 6829355. The United States issued a patent under a free license.