JavaでHMACを使ってみる
使い方はこんな感じでいいのかな?
// HMAC-MD5 や HMAC-SHA1 のテストケースが以下のURLにあります。 // http://www.ipa.go.jp/security/rfc/RFC2202JA.html { Key key = new SecretKeySpec("Jefe".getBytes("UTF-8"), "HmacMD5"); Mac mac = Mac.getInstance(key.getAlgorithm()); mac.init(key); byte[] digest = mac.doFinal("what do ya want for nothing?".getBytes()); assertEquals("750c783e6ab0b503eaa86e310a5db738", dumpToHex(digest)); } { Key key = new SecretKeySpec("Jefe".getBytes("UTF-8"), "HmacSHA1"); Mac mac = Mac.getInstance(key.getAlgorithm()); mac.init(key); byte[] digest = mac.doFinal("what do ya want for nothing?".getBytes()); assertEquals("effcdf6ae5eb2fa2d27416d5f184df9c259a7c79", dumpToHex(digest)); }
とりあえずテストケースは通ったので間違ってないっぽい。