Java HMAC-SHA256 実装ガイド【サンプルコード付き】
JavaでHmacSHA256を使用するには、javax.cryptoパッケージのMacクラスを使うことができます。以下は、データをHmacSHA256アルゴリズムで暗号化するためのサンプルコードです。
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
public class HmacSHA256Example {
public static void main(String[] args) {
String data = "Hello, World!";
String key = "secretKey";
try {
Mac hmacSHA256 = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), "HmacSHA256");
hmacSHA256.init(secretKey);
byte[] hash = hmacSHA256.doFinal(data.getBytes());
String encodedHash = Base64.getEncoder().encodeToString(hash);
System.out.println("HMAC-SHA256 hash: " + encodedHash);
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
e.printStackTrace();
}
}
}
上記のコードでは、まずHmacSHA256インスタンスを作成し、指定されたキーで初期化されます。次にデータを暗号化し、暗号化された結果をBase64エンコードされた文字列に変換して出力します。
この例では、暗号化された結果をBase64エンコードして変換していますので、元のバイト配列が必要な場合は直接ハッシュ変数を使用してください。