Home >Java >javaTutorial >How to Generate SHA-256 Hashes from Strings in Java?
String hashing using SHA-256 is commonly used to ensure data integrity, provide secure password storage, or generate unique identifiers. In Java, this operation can be performed swiftly and easily.
SHA-256 (Secure Hash Algorithm 256) is a one-way cryptographic hash function that produces a fixed-size hash value from an input string. This hash value is unique and cannot be reversed to obtain the original string.
SHA-256 works with byte arrays, so before hashing a string, you need to convert it into a byte array. Use an encoding such as UTF-8, which most programming languages support by default.
Use the MessageDigest class to create an instance of the SHA-256 algorithm.
<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>
Digesting or hashing the string involves passing the byte array into the digest instance. The result of this operation is the SHA-256 hash value in the form of a byte array.
<code class="java">byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));</code>
As the hash value is a byte array, you may need to convert it to a more readable format for display or storage. Common options include base64 or hexadecimal.
<code class="java">import java.nio.charset.StandardCharsets; import java.security.MessageDigest; public class SHA256Hashing { public static byte[] hashSHA256(String text) { try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); return digest.digest(text.getBytes(StandardCharsets.UTF_8)); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } }</code>
Using the above hashSHA256 method, you can now hash String values easily and securely.
The above is the detailed content of How to Generate SHA-256 Hashes from Strings in Java?. For more information, please follow other related articles on the PHP Chinese website!