From cda821e5af02842d104c5ab733b52f463b75edb0 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 9 Sep 2023 14:33:19 -0400 Subject: [PATCH] Stops accepting space as a Valid hex char and requires an even number of chars (padding) --- .../java/com/vitorpamplona/quartz/encoders/HexUtils.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/encoders/HexUtils.kt b/quartz/src/main/java/com/vitorpamplona/quartz/encoders/HexUtils.kt index 11ccbfdeb..a219da8d3 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/encoders/HexUtils.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/encoders/HexUtils.kt @@ -12,18 +12,19 @@ fun HexKey.hexToByteArray(): ByteArray { } object HexValidator { - private fun isHex2(c: Char): Boolean { + private fun isHexChar(c: Char): Boolean { return when (c) { - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F', ' ' -> true + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F' -> true else -> false } } fun isHex(hex: String?): Boolean { if (hex == null) return false + if (hex.length % 2 != 0) return false // must be even var isHex = true for (c in hex.toCharArray()) { - if (!isHex2(c)) { + if (!isHexChar(c)) { isHex = false break }