packed nonce is now unsigned

This commit is contained in:
Sergey Chernov 2024-06-17 10:00:41 +07:00
parent 3dd1654f70
commit ae624ee051
2 changed files with 12 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package net.sergeych.kiloparsec
import kotlinx.serialization.Serializable
import net.sergeych.bintools.toDataSource
import net.sergeych.bipack.BipackDecoder
import net.sergeych.bipack.Unsigned
import net.sergeych.crypto2.*
import net.sergeych.synctools.ProtectedOp
import net.sergeych.synctools.invoke
@ -28,6 +29,7 @@ data class KiloParams<S>(
) {
@Serializable
data class Package(
@Unsigned
val nonce: ULong,
val encryptedMessage: UByteArray,
)

View File

@ -1,11 +1,15 @@
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.runTest
import kotlinx.datetime.Instant
import net.sergeych.bipack.BipackEncoder
import net.sergeych.crypto2.initCrypto
import net.sergeych.kiloparsec.KiloParams
import net.sergeych.kiloparsec.Transport
import net.sergeych.utools.nowToSeconds
import net.sergeych.utools.pack
import net.sergeych.utools.unpack
import kotlin.test.Test
import kotlin.test.assertContentEquals
import kotlin.test.assertEquals
import kotlin.time.Duration.Companion.microseconds
@ -40,4 +44,10 @@ class PackTest {
val b2 = unpack<Transport.Block>(p1)
assertEquals(b1,b2)
}
@Test
fun packPackage() = runBlocking {
val x = BipackEncoder.encode(KiloParams.Package(1u, ubyteArrayOf()))
assertContentEquals(byteArrayOf(4, 0), x)
}
}