The SHA-2 family of cryptographic hash functions consists of six hash functions. These are:
- SHA-224, with 224 bit hash values
- SHA-256, with 256 bit hash values
- SHA-384, with 384 bit hash values
- SHA-512, with 512 bit hash values
- SHA-512/224, with 512 bit hash values
- SHA-512/256, with 512 bit hash values
Among these, SHA-256 and SHA-512 are the most commonly accepted and used hash functions computed with 32-bit and 64-bit words, respectively. SHA-224 and SHA-384 are truncated versions of SHA-256 and SHA-512 respectively, computed with different initial values.
To calculate cryptographic hashing value in Java, MessageDigest Class is used, under the package java.security.
MessagDigest Class provides following cryptographic hash function to find hash value of a text as follows:
These algorithms are initialized in static method called getInstance(). After selecting the algorithm the message digest value is calculated and the results are returned as a byte array. BigInteger class is used, to convert the resultant byte array into its signum representation. This representation is then converted into a hexadecimal format to get the expected MessageDigest.
Input : hello world
Input : GeeksForGeeks
Program: Below program shows the implementation of SHA-384 hash in Java.
HashCode Generated by SHA-384 for: GeeksForGeeks : 19cc78d220368a892cc9c54d2f43d5e1823 534f3e22b0d475de18e030e7c4b411704c79e9600bb93399688 e7f09bb226 hello world : fdbd8e75a67f29f701a4e040385e2e2398630 3ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c 088de1bd
- Data Integrity