Files
hash.kt/src/commonTest/kotlin/com/infendro/hash/blake/Blake-256.kt

71 lines
1.9 KiB
Kotlin

package com.infendro.hash.blake
import kotlin.test.Test
import kotlin.test.assertContentEquals
import kotlin.test.assertEquals
class `Blake-256 Test` {
val function = `Blake-256`
@Test
fun `bytes and block`() {
assertEquals(32, function.bytes)
assertEquals(256, function.bits)
assertEquals(64, function.block)
}
@Test
fun `empty bytearray`() {
val expected = ubyteArrayOf(
0x71U, 0x6fU, 0x6eU, 0x86U,
0x3fU, 0x74U, 0x4bU, 0x9aU,
0xc2U, 0x2cU, 0x97U, 0xecU,
0x7bU, 0x76U, 0xeaU, 0x5fU,
0x59U, 0x08U, 0xbcU, 0x5bU,
0x2fU, 0x67U, 0xc6U, 0x15U,
0x10U, 0xbfU, 0xc4U, 0x75U,
0x13U, 0x84U, 0xeaU, 0x7aU,
).asByteArray()
val actual = function.hash(
ByteArray(0),
)
assertContentEquals(expected, actual)
}
@Test
fun `one block`() {
val expected = ubyteArrayOf(
0x0cU, 0xe8U, 0xd4U, 0xefU,
0x4dU, 0xd7U, 0xcdU, 0x8dU,
0x62U, 0xdfU, 0xdeU, 0xd9U,
0xd4U, 0xedU, 0xb0U, 0xa7U,
0x74U, 0xaeU, 0x6aU, 0x41U,
0x92U, 0x9aU, 0x74U, 0xdaU,
0x23U, 0x10U, 0x9eU, 0x8fU,
0x11U, 0x13U, 0x9cU, 0x87U,
).asByteArray()
val actual = function.hash(
ByteArray(1),
)
assertContentEquals(expected, actual)
}
@Test
fun `two blocks`() {
val expected = ubyteArrayOf(
0xd4U, 0x19U, 0xbaU, 0xd3U,
0x2dU, 0x50U, 0x4fU, 0xb7U,
0xd4U, 0x4dU, 0x46U, 0x0cU,
0x42U, 0xc5U, 0x59U, 0x3fU,
0xe5U, 0x44U, 0xfaU, 0x4cU,
0x13U, 0x5dU, 0xecU, 0x31U,
0xe2U, 0x1bU, 0xd9U, 0xabU,
0xdcU, 0xc2U, 0x2dU, 0x41U,
).asByteArray()
val actual = function.hash(
ByteArray(72),
)
assertContentEquals(expected, actual)
}
}