@Override public void update(long i) { tmp[0] = (byte) (i >>> 24); tmp[1] = (byte) (i >>> 16); tmp[2] = (byte) (i >>> 8); tmp[3] = (byte) i; update(tmp, 0, 4); }
@Override public BaseMAC create() { return new BaseMAC(algorithm, bSize, defBSize, etm); } }
@Override public byte[] doFinal() { return resizeToHashSize(mac.doFinal()); }
private BaseMAC initHmac() { BaseMAC hmac = new HMACSHA1(); hmac.init(KEY.getBytes(CHARSET)); return hmac; } }
@Test public void testDoFinalWithInput() { BaseMAC hmac = initHmac(); assertThat(Hex.toHexString(hmac.doFinal(PLAIN_TEXT)), is(EXPECTED_HMAC)); }
@Test public void testUpdateWithRange() { BaseMAC hmac = initHmac(); // a leading and trailing byte to the plaintext byte[] plainText = new byte[PLAIN_TEXT.length + 2]; System.arraycopy(PLAIN_TEXT, 0, plainText, 1, PLAIN_TEXT.length); // update with the range from the second to penultimate byte hmac.update(plainText, 1, PLAIN_TEXT.length); assertThat(Hex.toHexString(hmac.doFinal()), is(EXPECTED_HMAC)); }
@Override public void update(long i) { tmp[0] = (byte) (i >>> 24); tmp[1] = (byte) (i >>> 16); tmp[2] = (byte) (i >>> 8); tmp[3] = (byte) i; update(tmp, 0, 4); }
@Override public BaseMAC create() { return new BaseMAC(algorithm, bSize, defBSize, etm); } }
@Override public byte[] doFinal(byte[] input) { return resizeToHashSize(mac.doFinal(input)); }
@Override public void update(long i) { tmp[0] = (byte) (i >>> 24); tmp[1] = (byte) (i >>> 16); tmp[2] = (byte) (i >>> 8); tmp[3] = (byte) i; update(tmp, 0, 4); }
@Override public byte[] doFinal() { return resizeToHashSize(mac.doFinal()); }
@Override public byte[] doFinal(byte[] input) { return resizeToHashSize(mac.doFinal(input)); }