diff --git a/backend/src/main/java/com/crypto/Caesar.java b/backend/src/main/java/com/crypto/Caesar.java index 3a2be3a..3fead4a 100644 --- a/backend/src/main/java/com/crypto/Caesar.java +++ b/backend/src/main/java/com/crypto/Caesar.java @@ -6,7 +6,8 @@ public class Caesar { char encoded[] = plaintext.toCharArray(); for(int i = 0; i < plaintext.length(); i++){ - encoded[i] = alphabet.charAt(alphabet.indexOf(encoded[i]) + key % 26); + if (alphabet.indexOf(encoded[i]) == -1) continue; + encoded[i] = alphabet.charAt((alphabet.indexOf(encoded[i]) + key) % 26); } return String.valueOf(encoded); } @@ -21,6 +22,10 @@ public class Caesar { for(int key = 0; key < alphabet.length(); key++){ for(int i = 0; i < ciphertext.length(); i++){ + if (alphabet.indexOf(encoded[i]) == -1) { + decoded[i] = encoded[i]; + continue; + } char current = encoded[i]; int pos = alphabet.indexOf(current); if(pos != -1) {