Javaにおける文字列のハッシュ化方法


Javaでは、以下のようなシンプルな方法で文字列をハッシュ化することができます。

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class StringHashingExample {
    public static void main(String[] args) {
        String input = "ハッシュ化する文字列";
        try {
            // メッセージダイジェストを生成
            MessageDigest digest = MessageDigest.getInstance("SHA-256");

            // 文字列をバイト配列に変換
            byte[] encodedHash = digest.digest(input.getBytes(StandardCharsets.UTF_8));

            // バイト配列を16進数の文字列に変換
           String input = "ハッシュ化する文字列";
            StringBuilder hexString = new StringBuilder();
            for (byte b : encodedHash) {
                String hex = Integer.toHexString(0xff & b);
                if (hex.length() == 1) {
                    hexString.append('0');
                }
                hexString.append(hex);
            }
            String hashedString = hexString.toString();
            System.out.println("ハッシュ化された文字列: " + hashedString);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}

上記のコードでは、MessageDigestクラスを使用してSHA-256アルゴリズムを利用しています。まず、文字列をバイト配列に変換し、その後、バイト配列を16進数の文字列に変換しています。ハッシュ化された文字列はhashedString変数に格納され、出力されます。

この方法を使用することで、文字列を簡単かつ安全にハッシュ化することができます。ハッシュ化は、パスワードの保存やデータの検証など、さまざまな場面で利用されます。

以上がJavaで文字列をハッシュ化する方法の一例です。必要に応じて、他のハッシュ関数やアルゴリズムを使用することもできます。