Шифрование текста
Когда нужно спрятать текст, можно использовать базовое шифрование. Шифр Цезаря — один из самых простых способов: каждая буква сдвигается на фиксированное количество символов.
Исходный текст и ключ (сдвиг):
String text = "hello world";
int shift = 3;
Создаём результат:
StringBuilder result = new StringBuilder();
Проходим по каждому символу:
for (char c : text.toCharArray()) {
Шифруем только буквы:
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char enc = (char) ((c - base + shift) % 26 + base);
result.append(enc);
} else {
result.append(c);
}
}
Выводим зашифрованный текст:
System.out.println("Зашифрованный: " + result);
Обратное преобразование (расшифровка):
StringBuilder decoded = new StringBuilder();
for (char c : result.toString().toCharArray()) {
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char dec = (char) ((c - base - shift + 26) % 26 + base);
decoded.append(dec);
} else {
decoded.append(c);
}
}
Вывод расшифрованного текста:
System.out.println("Расшифрованный: " + decoded);
После этого легко перейти к более сложным вещам: пароли, хеширование, реальные алгоритмы.
Java Библиотека | Мы в Телеграм
Когда нужно спрятать текст, можно использовать базовое шифрование. Шифр Цезаря — один из самых простых способов: каждая буква сдвигается на фиксированное количество символов.
Исходный текст и ключ (сдвиг):
String text = "hello world";
int shift = 3;
Создаём результат:
StringBuilder result = new StringBuilder();
Проходим по каждому символу:
for (char c : text.toCharArray()) {
Шифруем только буквы:
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char enc = (char) ((c - base + shift) % 26 + base);
result.append(enc);
} else {
result.append(c);
}
}
Выводим зашифрованный текст:
System.out.println("Зашифрованный: " + result);
Обратное преобразование (расшифровка):
StringBuilder decoded = new StringBuilder();
for (char c : result.toString().toCharArray()) {
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char dec = (char) ((c - base - shift + 26) % 26 + base);
decoded.append(dec);
} else {
decoded.append(c);
}
}
Вывод расшифрованного текста:
System.out.println("Расшифрованный: " + decoded);
После этого легко перейти к более сложным вещам: пароли, хеширование, реальные алгоритмы.
Java Библиотека | Мы в Телеграм