123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.chameth.yaotp.algos
-
- import com.chameth.yaotp.toHexString
- import com.natpryce.hamkrest.assertion.assert
- import com.natpryce.hamkrest.equalTo
- import org.junit.Assert
- 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))
- }
-
- @Test
- fun testGetHmacFunc_defaultsToSha1() {
- Assert.assertEquals(::hmacSha1, getHmacFunc(null))
- Assert.assertEquals(::hmacSha1, getHmacFunc("foo"))
- Assert.assertEquals(::hmacSha1, getHmacFunc("sha25618"))
- }
-
- @Test
- fun testGetHmacFunc_withSha1() {
- Assert.assertEquals(::hmacSha1, getHmacFunc("sha1"))
- Assert.assertEquals(::hmacSha1, getHmacFunc("SHA1"))
- }
-
- @Test
- fun testGetHmacFunc_withSha256() {
- Assert.assertEquals(::hmacSha256, getHmacFunc("sha256"))
- Assert.assertEquals(::hmacSha256, getHmacFunc("SHA256"))
- }
-
- @Test
- fun testGetHmacFunc_withSha512() {
- Assert.assertEquals(::hmacSha512, getHmacFunc("sha512"))
- Assert.assertEquals(::hmacSha512, getHmacFunc("SHA512"))
- }
-
- }
|