Files
mac.kt/src/commonTest/kotlin/com/infendro/mac/HMAC.kt
2026-01-22 12:50:36 +01:00

36 lines
948 B
Kotlin

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)
}
}