【Java】HmacUtilsを使ってHMACメッセージダイジェストを生成する
HmacUtilsを使ってHMACメッセージダイジェストを生成する
Apache Commons Codecで提供されているHmacUtilsクラスを利用することでメッセージダイジェストを簡単に生成することができます。
公式ページ:Apache Commons Codec
Apache Commons Codecのインストール
本記事の例ではSpring BootプロジェクトにApache Commons Codecを追加します。build.gradleに以下のように追加します。
dependencies {
...
implementation group: 'commons-codec', name: 'commons-codec', version: '1.15'
...
}
追加後Gradle Syncを行います。
メッセージダイジェストの生成
以下のように、メッセージダイジェストの計算に使用するキーとアルゴリズムを指定してHmacUtilsクラスのインスタンスを生成します。
hmacHexメソッドを使用してメッセージダイジェストを生成することができます。
参考ページ:Apache Commons Codec 1.15 API
public class HmacTest {
@Test
public void test1() {
// メッセージダイジェストの計算に使用するキー
var key = "xxxxxxxxxx";
// メッセージダイジェストの計算対象のデータ
var data = "test";
// 使用するアルゴリズムとキーを指定してHmacUtilsのインスタンスを生成
var hmac = new HmacUtils(HmacAlgorithms.HMAC_SHA_256, key.getBytes());
// メッセージダイジェストを生成
var digest = hmac.hmacHex(data);
// 標準出力に表示
System.out.println(digest);
}
}
この例ではメッセージダイジェストが「56fb55de060a2a6ac31ddc233ab52ac1192000f4fb34e10be6089ee0a67d7af1」となります。