Home >Java >javaTutorial >How to Hash Strings with SHA-256 in Java?

How to Hash Strings with SHA-256 in Java?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 07:24:02447browse

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!

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