small refactor

This commit is contained in:
2025-08-03 00:29:19 +02:00
parent a1cf5f4202
commit b740bdea9d

View File

@@ -9,7 +9,6 @@ import com.infendro.mac.HMAC
class PBKDF2(
function: HashFunction,
) {
private val size = function.bytes
private val hmac = HMAC(function)
fun hash(
@@ -18,23 +17,18 @@ class PBKDF2(
iterations: Int,
length: Int,
): ByteArray {
val key = mutableListOf<Byte>()
val key = buildList {
for (i in 1..(length + size - 1) / size) {
val input = salt + i.toUInt().toByteArray()
for (i in 1..(length + size - 1) / size) {
val input = salt + i.toUInt().toByteArray()
var u = hmac.hash(value, input)
var result = u
repeat(iterations - 1) {
u = hmac.hash(value, u)
result = result xor u
}
var u = hmac.hash(value, input)
var result = u
repeat(iterations - 1) {
u = hmac.hash(value, u)
result = result xor u
}
key.addAll(result)
if (key.size >= length) {
println(key.size)
break
addAll(result)
}
}