Написал алгоритм, который шифрует текст методом Цезаря, с помощью таблицы ASCII: Моя программа шифрует строки, в которых используются русские и английские буквы, различные знаки препинания, пробелы и т.д.
public class Chifr2 {
public static void main(String[] args) {
String str = "ннн ААА 000 <> ZZZ yyy"; //вводимый текст
int key = 3;
String new_str = "";
String d = "";
int c = 0;
int y = 0;
System.out.println((int) 'Я'); // здесь узнаем код буквы
for (int j =0;j<str.length();j++) {
int a = str.charAt(j);
if (a <= 1071 && a>=1040) {
c = (str.charAt(j) + key);
y = (c - 1040) % 32 + 1040; // 1040 - это код буквы А, 32 - это кол-во букв
new_str += (char) y; // получаем букву по коду
}
else if (a>1071){
c = (str.charAt(j) + key);
y = (c - 1072) % 32 + 1072; // 1072 - это код буквы а, 32 - это кол-во букв
new_str += (char) y; // получаем букву по коду
}
else if (a>=32 && a<=47){
c = (str.charAt(j)+key);
y = (c - 32) % 16 + 32;
new_str += (char) y;
}
else if (a>47&&a<=57){
c = (str.charAt(j)+key);
y = (c - 47) % 10 + 47;
new_str += (char) y;
}
else if (a>57&&a<=64){
c = (str.charAt(j)+key);
y = (c - 57) % 7 + 57;
new_str += (char) y;
}
else if (a>64&&a<=90){
c = (str.charAt(j)+key);
y = (c - 64) % 26 + 64;
new_str += (char) y;
}
else if(a>=97&&a<=122){
c = (str.charAt(j)+key);
y = (c - 97) % 26 + 97;
new_str += (char) y;
}
}
System.out.println( new_str); // выводимый текст
}
}
Никак не могу понять как мне сделать расшифровку данного шифра (то есть как мне сделать так, чтобы ключ был отрицательным, но шифрование всё равно происходило правильно)
Как меняется крипторынок и к чему готовиться владельцам криптообменников
Я новичок в Java и Android Studio, решил сделать Spinner для переключения темы приложения в настройках, но программа работает не корректно
Пробую найти правильное регулярное выражение, никак не выходит
Не получается выполнить задание, условие которого следующее: ТРАНСПОЗИЦИЯ С ФИКСИРОВАННЫМ ПЕРИОДОМ: В этом случае сообщение делится на группы...
Вопрос такой: Как подключить несколько БД к Spring Boot?