update dependencies

This commit is contained in:
2025-07-24 21:07:32 +02:00
parent f4385d172e
commit ba1c983094
5 changed files with 15 additions and 30 deletions

View File

@@ -20,8 +20,10 @@ kotlin {
sourceSets {
commonMain.dependencies {
implementation(libs.hash)
implementation(libs.random)
implementation(libs.mac)
implementation(libs.hash)
implementation(libs.bytearray)
}
}
}

View File

@@ -1,11 +1,15 @@
[versions]
kotlin = "2.1.20"
hash = "1.1.0"
mac = "1.1.0"
random = "1.0.0"
mac = "1.1.2"
hash = "1.2.2"
bytearray = "1.1.1"
[plugins]
multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
[libraries]
hash = { module = "com.infendro:hash", version.ref = "hash" }
random = { module = "com.infendro:random", version.ref = "random" }
mac = { module = "com.infendro:mac", version.ref = "mac" }
hash = { module = "com.infendro:hash", version.ref = "hash" }
bytearray = { module = "com.infendro:bytearray", version.ref = "bytearray" }

View File

@@ -1,10 +1,10 @@
package com.infendro.otp
import com.infendro.bytearray.toByteArray
import com.infendro.bytearray.toInt
import com.infendro.hash.HashFunction
import com.infendro.hash.SHA1
import com.infendro.mac.HMAC
import com.infendro.otp.util.toByteArray
import com.infendro.otp.util.toInt
import kotlin.experimental.and
import kotlin.math.pow
@@ -24,8 +24,7 @@ class HOTP(
secret: ByteArray,
counter: Long,
): String {
if (counter < 0)
throw Exception()
if (counter < 0) throw Exception()
val hash = generateHash(
secret,

View File

@@ -1,10 +1,10 @@
package com.infendro.otp
import com.infendro.hash.*
import kotlin.random.Random
import com.infendro.random.PRNG
object SecretGenerator {
private val random = Random.Default
private val random = PRNG.HMAC
fun generate(
algorithm: HashFunction = SHA1,

View File

@@ -1,20 +0,0 @@
package com.infendro.otp.util
internal fun Long.toByteArray(): ByteArray {
return ByteArray(8) { i ->
val offset = (7 - i) * 8
(this shr offset).toByte()
}
}
internal fun ByteArray.toInt(): Int {
if (size != 4) throw Exception()
return fold(0) { acc, byte ->
(acc shl 8) or (byte.toInt() and 0xFF)
}
}
internal fun Collection<Byte>.toInt(): Int {
return toByteArray().toInt()
}