Другие языки программирования и технологии
Шифр Виженера на Eclipse
Помогите реализовать шифр Виженера на Eclipse java, ну или хотя бы сайт где есть подобные запросы
Только для строчных латинских букв. Остальные символы игнорируются:
public class q89022392 {
static String cript(String str, String key) {
StringBuilder sb = new StringBuilder();
int k = 0;
for (int c = 0; c < str.length(); ++c) {
char e = str.charAt(c), w = key.charAt(k);
sb.append(e >= 'a' && e <= 'z' ? (char)((e - 'a' + w - 'a') % 26 + 'a') : e);
k = (k + (e >= 'a' && e <= 'z' ? 1 : 0)) % key.length();
}
return sb.toString();
}
static String decript(String str, String key) {
StringBuilder sb = new StringBuilder();
int k = 0;
for (int c = 0; c < str.length(); ++c) {
char r = str.charAt(c), w = key.charAt(k);
sb.append(r >= 'a' && r <= 'z' ? (char)((r - w + 26) % 26 + 'a') : r);
k = (k + (r >= 'a' && r <= 'z' ? 1 : 0)) % key.length();
}
return sb.toString();
}
static public void main(String[] args) {
String s = "hello, world!";
String cs = cript(s, "keyword");
System.out.println("initial line: " + s);
System.out.println("encoded line: " + cs);
System.out.println("decoded line: " + decript(cs, "keyword"));
}
}
public class q89022392 {
static String cript(String str, String key) {
StringBuilder sb = new StringBuilder();
int k = 0;
for (int c = 0; c < str.length(); ++c) {
char e = str.charAt(c), w = key.charAt(k);
sb.append(e >= 'a' && e <= 'z' ? (char)((e - 'a' + w - 'a') % 26 + 'a') : e);
k = (k + (e >= 'a' && e <= 'z' ? 1 : 0)) % key.length();
}
return sb.toString();
}
static String decript(String str, String key) {
StringBuilder sb = new StringBuilder();
int k = 0;
for (int c = 0; c < str.length(); ++c) {
char r = str.charAt(c), w = key.charAt(k);
sb.append(r >= 'a' && r <= 'z' ? (char)((r - w + 26) % 26 + 'a') : r);
k = (k + (r >= 'a' && r <= 'z' ? 1 : 0)) % key.length();
}
return sb.toString();
}
static public void main(String[] args) {
String s = "hello, world!";
String cs = cript(s, "keyword");
System.out.println("initial line: " + s);
System.out.println("encoded line: " + cs);
System.out.println("decoded line: " + decript(cs, "keyword"));
}
}
Похожие вопросы
- Шифр виженера и послание из гравити фолз
- Кто может взломать шифр Виженера без ключа? Длина ключа четыре буквы.
- Java IDE: как eclipse(или другое IDE) находит классы проекта?
- Решил изучать c/c++, скачал eclipse CDT, пару часов повоевал с библиотеками, победил, но теперь тупо не могу запустить!
- Шифр цезаря паскаль в чем ошибкаили что дописать?
- помогите пожалуйста шифр цезаря
- Возможно ли взломать такой шифр?
- Помогите с построением матрицы Виженера на C#
- помогите написать программу в Турбо Паскале, Шифр цезаря,с сдвигом на три шага!!!!
- Прошу помочь. Нужно составить шифр плейфера к следующей фразе "то не останется ничего". Заранее огромное спасибо.