package com.infendro.mac import com.infendro.hash.sha2.`SHA-256` import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals class `HMAC Test` { val hmac = HMAC(`SHA-256`) @Test fun bytes() { assertEquals(32, hmac.bytes) assertEquals(256, hmac.bits) } @Test fun example() { val expected = ubyteArrayOf( 0xf7U, 0xbcU, 0x83U, 0xf4U, 0x30U, 0x53U, 0x84U, 0x24U, 0xb1U, 0x32U, 0x98U, 0xe6U, 0xaaU, 0x6fU, 0xb1U, 0x43U, 0xefU, 0x4dU, 0x59U, 0xa1U, 0x49U, 0x46U, 0x17U, 0x59U, 0x97U, 0x47U, 0x9dU, 0xbcU, 0x2dU, 0x1aU, 0x3cU, 0xd8U, ).asByteArray() val actual = hmac.hash( "key".encodeToByteArray(), "The quick brown fox jumps over the lazy dog".encodeToByteArray(), ) assertContentEquals(expected, actual) } }