ホームページ  >  記事  >  Java  >  Java で文字列から SHA-256 ハッシュを生成するにはどうすればよいですか?

Java で文字列から SHA-256 ハッシュを生成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 06:24:01561ブラウズ

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

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

SHA-256 を使用した文字列ハッシュは、データの整合性の確保、安全なパスワード ストレージの提供、または一意の識別子の生成に一般的に使用されます。 Java では、この操作を迅速かつ簡単に実行できます。

ステップ 1: SHA-256 アルゴリズムを理解する

SHA-256 (セキュア ハッシュ アルゴリズム 256) は、一方向の暗号化ハッシュ関数です。入力文字列から固定サイズのハッシュ値を生成します。このハッシュ値は一意であり、元の文字列を取得するために元に戻すことはできません。

ステップ 2: エンコーディングを選択する

SHA-256 はバイト配列で機能するため、文字列をハッシュする前に、次のことを行う必要があります。それをバイト配列に変換します。ほとんどのプログラミング言語がデフォルトでサポートしている UTF-8 などのエンコーディングを使用します。

ステップ 3: MessageDigest インスタンスを作成する

MessageDigest クラスを使用して、SHA-256 アルゴリズムのインスタンスを作成します。 .

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

ステップ 4: 文字列をハッシュする

文字列のダイジェストまたはハッシュには、バイト配列をダイジェスト インスタンスに渡すことが含まれます。この操作の結果は、バイト配列の形式の SHA-256 ハッシュ値です。

<code class="java">byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));</code>

バイト配列から文字列への変換

ハッシュ値はバイト配列であるため、表示または保存のために、より読みやすい形式に変換する必要がある場合があります。一般的なオプションには、base64 または 16 進数が含まれます。

コード例

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

上記の hashSHA256 メソッドを使用すると、文字列値を簡単かつ安全にハッシュできるようになります。

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

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