diff --git a/app/src/main/java/com/gttcgf/nanoscan/tools/PasswordUtils.java b/app/src/main/java/com/gttcgf/nanoscan/tools/PasswordUtils.java index 895e8b7..a4a7075 100644 --- a/app/src/main/java/com/gttcgf/nanoscan/tools/PasswordUtils.java +++ b/app/src/main/java/com/gttcgf/nanoscan/tools/PasswordUtils.java @@ -30,27 +30,13 @@ public static String bytesToHex(byte[] hash) { } public static String getBytetoString(byte[] configName) { - byte[] byteChars = new byte[40]; ByteArrayOutputStream os = new ByteArrayOutputStream(); - byte[] var3 = byteChars; - int i = byteChars.length; - for (int var5 = 0; var5 < i; ++var5) { - byte b = var3[var5]; - byteChars[b] = 0; - } - String s = null; - for (i = 0; i < configName.length; ++i) { - byteChars[i] = configName[i]; - if (configName[i] == 0) { + for (byte b : configName) { + if (b == 0) { break; } - os.write(configName[i]); - } - try { - s = os.toString("UTF-8"); - } catch (UnsupportedEncodingException var7) { - var7.printStackTrace(); + os.write(b); } - return s; + return os.toString(StandardCharsets.UTF_8.name()); } } diff --git a/app/src/test/java/com/gttcgf/nanoscan/tools/PasswordUtilsTest.java b/app/src/test/java/com/gttcgf/nanoscan/tools/PasswordUtilsTest.java new file mode 100644 index 0000000..70575fd --- /dev/null +++ b/app/src/test/java/com/gttcgf/nanoscan/tools/PasswordUtilsTest.java @@ -0,0 +1,21 @@ +package com.gttcgf.nanoscan.tools; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class PasswordUtilsTest { + @Test + public void convertsByteArrayWithTerminator() { + byte[] input = new byte[] { 'h', 'e', 'l', 'l', 'o', 0 }; + String result = PasswordUtils.getBytetoString(input); + assertEquals("hello", result); + } + + @Test + public void convertsByteArrayWithoutTerminator() { + byte[] input = new byte[] { 'w', 'o', 'r', 'l', 'd' }; + String result = PasswordUtils.getBytetoString(input); + assertEquals("world", result); + } +}