ホームページ  >  記事  >  Java  >  Java で SHA-256 を使用して安全な文字列ハッシュを実装するにはどうすればよいですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 05:38:30217ブラウズ

How to Implement Secure String Hashing in Java with SHA-256?

SHA-256 を使用した Java ハッシュ文字列

Java で SHA-256 を使用して文字列をハッシュするのは簡単なタスクのように思えるかもしれませんが、次のような作業があります。ハッシュとエンコードの重要な違いは明確にする必要があります。

SHA-256 (Secure Hash Algorithm-256) はエンコード メカニズムではありません。それは一方向のハッシュ関数です。これは、文字列をハッシュすると、バイナリ データの不可逆シーケンスが生成されることを意味します。

Java で SHA-256 ハッシュを適用するには、次の手順に従います。

  1. 変換String to Bytes: UTF-8 などの文字エンコーディングを使用して入力文字列をバイト配列に変換します。
<code class="java">byte[] bytes = text.getBytes(StandardCharsets.UTF_8);</code>
  1. Create MessageDigest Instance: インスタンス化SHA-256 メッセージ ダイジェスト アルゴリズム。
<code class="java">MessageDigest digest = MessageDigest.getInstance("SHA-256");</code>
  1. メッセージ ダイジェストの更新: 文字列を表すバイト配列をメッセージ ダイジェストにフィードします。
<code class="java">digest.update(bytes);</code>
  1. ハッシュの計算: メッセージ ダイジェストからハッシュ値を生成します。
<code class="java">byte[] hash = digest.digest();</code>

重要な注意事項:

結果のハッシュはバイナリ形式です。文字列として表現したい場合は、base64 または 16 進エンコーディングの使用を検討してください。文字化けが発生する可能性があるため、String(byte[], String) コンストラクターの使用は避けてください。

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

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