ホームページ >Java >&#&チュートリアル >Java で SHA-256 を使用して文字列をハッシュするにはどうすればよいですか?

Java で SHA-256 を使用して文字列をハッシュするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-29 07:24:02450ブラウズ

How to Hash Strings with SHA-256 in Java?

Java で文字列ハッシュに SHA-256 アルゴリズムを利用する方法

ハッシュはデータの保護、検証、追跡において重要な役割を果たします。 SHA-256 アルゴリズムは、入力データの安全な表現を生成する際の効率性とセキュリティのために広く使用されています。 Java では、SHA-256 を使用した文字列のハッシュは簡単です。

SHA-256 による文字列のハッシュ

一般的な用語にもかかわらず、SHA-256 はデータを「エンコード」しません。むしろ、一方向ハッシュを生成します。このプロセスには、入力文字列をバイト配列に変換し、SHA-256 アルゴリズムを適用することが含まれます。ハッシュ プロセスの出力は文字列ではなくバイナリ データであることに注意することが重要です。

結果のバイナリ データをさらなる処理または送信のために文字列として表すには、Base64 または 16 進エンコードの使用を検討してください。この目的で String(byte[], String) コンストラクターを使用することは避けてください。

サンプル コード

以下は、次を使用して文字列をハッシュする方法を示すサンプル コード スニペットです。 Java の SHA-256 アルゴリズム:

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

以上がJava で SHA-256 を使用して文字列をハッシュするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。