「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java で SHA-256 を使用して安全な文字列ハッシュを実装するにはどうすればよいですか?

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

2024 年 11 月 19 日に公開
ブラウズ:461

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

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

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

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

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

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

重要な注意:

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3