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 = byteArrayOf( -0x09, -0x44, -0x7d, -0x0c, +0x30, +0x53, -0x7c, +0x24, -0x4f, +0x32, -0x68, -0x1a, -0x56, +0x6f, -0x4f, +0x43, -0x11, +0x4d, +0x59, -0x5f, +0x49, +0x46, +0x17, +0x59, -0x69, +0x47, -0x63, -0x44, +0x2d, +0x1a, +0x3c, -0x28, ) val actual = hmac.hash( "key".encodeToByteArray(), "The quick brown fox jumps over the lazy dog".encodeToByteArray(), ) assertContentEquals(expected, actual) } }