diff --git a/src/main/java/link/infra/packwiz/installer/metadata/hash/Murmur2Lib.java b/src/main/java/link/infra/packwiz/installer/metadata/hash/Murmur2Lib.java index bb50d6e..0df62e7 100644 --- a/src/main/java/link/infra/packwiz/installer/metadata/hash/Murmur2Lib.java +++ b/src/main/java/link/infra/packwiz/installer/metadata/hash/Murmur2Lib.java @@ -74,13 +74,13 @@ public class Murmur2Lib { int left = length - len_m; if (left != 0) { if (left >= 3) { - h ^= (int) data[length - 3] << 16; + h ^= (int) data[length - (left - 2)] << 16; } if (left >= 2) { - h ^= (int) data[length - 2] << 8; + h ^= (int) data[length - (left - 1)] << 8; } if (left >= 1) { - h ^= (int) data[length - 1]; + h ^= data[length - left]; } h *= M_32; @@ -152,7 +152,7 @@ public class Murmur2Lib { case 2: h ^= (long) (data[tailStart + 1] & 0xff) << 8; case 1: - h ^= (long) (data[tailStart] & 0xff); + h ^= data[tailStart] & 0xff; h *= M_64; } diff --git a/src/main/kotlin/link/infra/packwiz/installer/metadata/hash/Murmur2Hasher.kt b/src/main/kotlin/link/infra/packwiz/installer/metadata/hash/Murmur2Hasher.kt index 62cc6c7..1beffb2 100644 --- a/src/main/kotlin/link/infra/packwiz/installer/metadata/hash/Murmur2Hasher.kt +++ b/src/main/kotlin/link/infra/packwiz/installer/metadata/hash/Murmur2Hasher.kt @@ -29,8 +29,8 @@ class Murmur2Hasher : IHasher { val output = ByteArray(input.size) var index = 0 for (b in input) { - when (b.toInt()) { - 9, 10, 13, 32 -> {} + when (b) { + 9.toByte(), 10.toByte(), 13.toByte(), 32.toByte() -> {} else -> { output[index] = b index++