Java でハッシュするString
にはどうすればいいでしょうか?SHA-256
ベストアンサー1
SHA-256 は「エンコーディング」ではなく、一方向のハッシュです。
基本的には文字列をバイトに変換し(例えば を使用text.getBytes(StandardCharsets.UTF_8)
)、バイトをハッシュします。ハッシュの結果も任意のバイナリデータになることに注意してください。これを文字列で表現したい場合は、base64を使用するまたは 16 進数...コンストラクターを使用しないでくださいString(byte[], String)
。
例えば
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));