Home  >  Article  >  Java  >  How to Generate SHA-256 Hashes from Strings in Java?

How to Generate SHA-256 Hashes from Strings in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 06:24:01561browse

How to Generate SHA-256 Hashes from Strings in Java?

Java: Hashing Strings with SHA-256

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.

Step 1: Understand the SHA-256 Algorithm

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.

Step 2: Choose an Encoding

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.

Step 3: Create a MessageDigest Instance

Use the MessageDigest class to create an instance of the SHA-256 algorithm.

<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>

Step 4: Hash the String

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>

Byte Array to String Conversion

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.

Example Code

<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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn