package com.chameth.yaotp.algos import com.natpryce.hamkrest.assertion.assert import com.natpryce.hamkrest.equalTo import org.junit.Test class HmacTest { @Test fun testHmacSha1_withKnownValues() { val key = "key".toByteArray() val input = "The quick brown fox jumps over the lazy dog".toByteArray() val expected = "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9" assert.that(hmacSha1(key, input).toHexString(), equalTo(expected)) } @Test fun testHmacSha256_withKnownValues() { val key = "key".toByteArray() val input = "The quick brown fox jumps over the lazy dog".toByteArray() val expected = "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8" assert.that(hmacSha256(key, input).toHexString(), equalTo(expected)) } @Test fun testHmacSha512_withKnownValues() { val key = "key".toByteArray() val input = "The quick brown fox jumps over the lazy dog".toByteArray() val expected = "b42af09057bac1e2d41708e48a902e09b5ff7f12ab428a4fe86653c73dd248fb82f948a549f7b791a5b41915ee4d1ec3935357e4e2317250d0372afa2ebeeb3a" assert.that(hmacSha512(key, input).toHexString(), equalTo(expected)) } }