Home >Java >javaTutorial >How to Hash Strings with SHA-256 in Java?
How to Utilize the SHA-256 Algorithm for String Hashing in Java
Hashing plays a crucial role in safeguarding, validating, and tracking data. The SHA-256 algorithm is widely used for its efficiency and security in producing a secure representation of input data. In Java, hashing strings using SHA-256 is straightforward.
Hashing Strings with SHA-256
Despite popular terminology, SHA-256 does not "encode" data; rather, it generates a one-way hash. The process involves converting the input string into an array of bytes and then applying the SHA-256 algorithm. It's important to note that the output of the hashing process is binary data, not a string.
To represent the resulting binary data as a string for further processing or transmission, consider using Base64 or hexadecimal encoding. Avoid using the String(byte[], String) constructor for this purpose.
Example Code
Below is an example code snippet that demonstrates how to hash a string using the SHA-256 algorithm in Java:
<code class="java">import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; public class StringHashingWithSHA256 { public static void main(String[] args) throws NoSuchAlgorithmException { // Obtain a SHA-256 message digest instance MessageDigest digest = MessageDigest.getInstance("SHA-256"); // Convert the input string into bytes using UTF-8 byte[] inputBytes = "Your Input String".getBytes(StandardCharsets.UTF_8); // Perform SHA-256 hashing on the input bytes byte[] hashedBytes = digest.digest(inputBytes); // Display the hashed bytes (in lowercase hexadecimal format) System.out.println(Arrays.toString(hashedBytes).toLowerCase()); } }</code>
The above is the detailed content of How to Hash Strings with SHA-256 in Java?. For more information, please follow other related articles on the PHP Chinese website!