Ограничение символов ASCII в шифре цезаря

120
25 марта 2022, 03:10

Пишу шифр цезаря на Java с использованием ASCII таблицы. В целом всё работает, однако когда я пошёл к дешифровке шифра, я,хотел перебрать все варианты, и всё бы ничего но получается следующее: Я думал что я не правильно использовал алгоритм шифра Цезаря: (x-key)mod26 где x это буква для шифра key - число на сколько сдвигается алфавит и 26 потому что пишу для английского алфавита, следовательно 26 букв.

Там видно что первые 3 подбора ещё можно понять но после код начинает перебирать всю таблицу. Вопрос, как я могу ограничить символы, чтобы код искал только в промежутке определенных символов, то есть в десятичной системе 65-90 для больших и 97-122 для маленьких букв соответственно.

Код который декодирует шифр:

        String decrypted ="";
        int keybrute =0;
        for(int brute = 0; brute <= 26;brute++){
        for(int i = 0; i < detext.length(); i++){
        boolean isupper = Character.isUpperCase(detext.charAt(i));
        boolean islower = Character.isLowerCase(detext.charAt(i));
        if(isupper == true) {      
        char a = (char)(((int)detext.charAt(i)-keybrute-65)%26+65); 
        decrypted += a; 
        }
        if(islower == true){
        char a = (char)((((int)detext.charAt(i))-keybrute-97)%26+97);  
        decrypted += a;  
        }
        if(islower == false && isupper == false){
        char a = detext.charAt(i);
        decrypted += a;
        continue;

        }
       System.out.println("Current key:" + keybrute+ " and current text:" + decrypted);

      keybrute++;
      decrypted="";
        }
     System.out.println("Please , choose most comfortable option of key. Thanks");

        }
READ ALSO
Почему обработчик события не работает через include?

Почему обработчик события не работает через include?

Нужна in-app клавиатура,чтобы спокойно мог из разных активити подключатьКод следующий:

121
Получить данные со страницы для последующего использования

Получить данные со страницы для последующего использования

друзьяДля работы моей программы требуется:

291
MySQL из сайта на Android - возможно ли это?

MySQL из сайта на Android - возможно ли это?

Могу ли я в своём Android-приложении брать данные из БД MySQl, расположенной на сервере?

192
Adapter не распознает setter

Adapter не распознает setter

У менять есть класс Н, созданный для адаптераВ классе М(адаптер) я вызываю сеттер из класса Н, но его не распознает, подчеркивает краснsv

92