🔐 Кодировщик и декодировщик ROT13

Преобразуйте текст с помощью самообратимого шифра ROT13 - идеально для скрытия спойлеров и базовой обфускации текста

📥 Входной текст 0 символов
📤 Выходной текст 0 символов

⚙️ Опции

🎯 Сопоставление алфавита ROT13

ROT13 заменяет каждую букву на букву, стоящую на 13 позиций после нее. Поскольку в алфавите 26 букв, двойное применение ROT13 возвращает исходный текст.

🏛️ Что такое ROT13?

ROT13 ("сдвинуть на 13 позиций") - это частный случай шифра Цезаря с фиксированным сдвигом 13. Он широко используется на онлайн-форумах и в новостных группах для скрытия спойлеров, решений головоломок и концовок шуток.

Простой шифр замены

Каждая буква заменяется другой буквой, отстоящей на 13 позиций в алфавите.

Самообратимый

Примените ROT13 дважды, чтобы вернуть исходный текст - одна и та же операция для кодирования и декодирования.

Сохраняет регистр

Заглавные буквы остаются заглавными, строчные остаются строчными.

Широко поддерживается

Используется на разных платформах, форумах и в текстовых редакторах для быстрой обфускации.

⚙️ Как это работает

Каждая буква заменяется буквой, стоящей на 13 позиций впереди в алфавите. При достижении конца происходит переход к началу:

  • A ↔ N, B ↔ O, C ↔ P, и т.д.
  • Цифры и символы остаются без изменений (если опция не включена)
  • Математическая формула: (x + 13) mod 26
  • Один и тот же процесс для кодирования и декодирования

🔐 Безопасность и использование

ROT13 не обеспечивает криптографической безопасности и легко взламывается. Однако он идеально подходит для: and is trivially broken. However, it's perfect for:

🎬 Скрытия спойлеров

Предотвращает случайное прочтение спойлеров к фильмам, книгам или играм на форумах.

📧 Обфускации электронной почты

Скрывает адреса электронной почты от спам-ботов на сайтах.

🎓 Обучения криптографии

Знакомит студентов с базовыми концепциями шифрования.

🎮 Головоломок и игр

Создает простые словесные головоломки и загадки.

❓ Часто задаваемые вопросы

Что отличает ROT13 от других шифров Цезаря?
ROT13 уникален тем, что использует сдвиг ровно в 13, что составляет половину 26-буквенного алфавита. Это означает, что одна и та же операция кодирует и декодирует текст — применение ROT13 дважды возвращает исходное сообщение. Это самообратимое свойство делает его особенно удобным для задач быстрой обфускации.
Безопасен ли ROT13 для защиты конфиденциальной информации?
Нет, ROT13 абсолютно не обеспечивает криптографической безопасности. Его тривиально легко декодировать, и его никогда не следует использовать для защиты паролей, личной информации или конфиденциальных данных. Он предназначен только для сокрытия спойлеров, ответов на головоломки или запутывания текста, который вы не хотите, чтобы случайно прочитали.
Почему ROT13 все еще используется, если он небезопасен?
ROT13 идеально подходит для сценариев, когда вы хотите скрыть информацию от случайного просмотра без необходимости в реальной безопасности. Обычные применения включают: скрытие спойлеров к фильмам/книгам в онлайн-обсуждениях, обфускацию адресов электронной почты от спам-ботов, создание простых словесных головоломок и обучение основам криптографии. Его простота и самообратимая природа делают его идеальным для этих целей.
Может ли ROT13 кодировать цифры и специальные символы?
Традиционный ROT13 преобразует только буквы (A-Z, a-z) и оставляет цифры, пробелы и специальные символы без изменений. Однако существуют расширенные версии, такие как ROT18, которые включают вращение цифр (0-9), и ROT47, который включает больше символов ASCII. Наш инструмент предлагает дополнительную настройку для обработки цифр с использованием 5-значного вращения (0↔5, 1↔6 и т. д.).
Как декодировать текст ROT13?
Поскольку ROT13 самообратим, вы декодируете его точно так же, как и кодируете — просто примените ROT13 еще раз! Просто вставьте закодированный текст в поле ввода и нажмите «Обработать ROT13». Прелесть ROT13 в том, что не требуется отдельная операция кодирования/декодирования.
Где сегодня обычно используется ROT13?
ROT13 широко используется в: онлайн-форумах и досках обсуждений (Reddit, Stack Exchange) для сокрытия спойлеров; головоломках геокэшинга и таинственных тайниках; обфускации адресов электронной почты на веб-сайтах; системах Unix/Linux (встроен в редакторы, такие как vim); упражнениях по программированию и задачах на кодирование; и в образовательных учреждениях для обучения базовым концепциям шифрования.

💻 ROT13 на разных языках программирования

Python

import codecs # Method 1: Using codecs text = "Hello World" encoded = codecs.encode(text, 'rot13') print(encoded) # Output: Uryyb Jbeyq # Method 2: Manual implementation def rot13(text): result = [] for char in text: if char.isalpha(): offset = 65 if char.isupper() else 97 result.append(chr((ord(char) - offset + 13) % 26 + offset)) else: result.append(char) return ''.join(result) print(rot13("Hello World")) # Output: Uryyb Jbeyq

JavaScript

function rot13(str) { return str.replace(/[a-zA-Z]/g, function(char) { const code = char.charCodeAt(0); const offset = code >= 65 && code <= 90 ? 65 : 97; return String.fromCharCode((code - offset + 13) % 26 + offset); }); } console.log(rot13("Hello World")); // Output: Uryyb Jbeyq

PHP

<?php // Method 1: Using str_rot13 $text = "Hello World"; $encoded = str_rot13($text); echo $encoded; // Output: Uryyb Jbeyq // Method 2: Manual implementation function rot13_manual($str) { $result = ''; for ($i = 0; $i < strlen($str); $i++) { $char = $str[$i]; if (ctype_alpha($char)) { $offset = ord(ctype_upper($char) ? 'A' : 'a'); $result .= chr((ord($char) - $offset + 13) % 26 + $offset); } else { $result .= $char; } } return $result; } ?>

Java

public class ROT13 { public static String encode(String text) { StringBuilder result = new StringBuilder(); for (char c : text.toCharArray()) { if (Character.isLetter(c)) { char offset = Character.isUpperCase(c) ? 'A' : 'a'; result.append((char) ((c - offset + 13) % 26 + offset)); } else { result.append(c); } } return result.toString(); } public static void main(String[] args) { System.out.println(encode("Hello World")); // Output: Uryyb Jbeyq } }

C++

#include <iostream> #include <string> #include <cctype> std::string rot13(const std::string& text) { std::string result; for (char c : text) { if (std::isalpha(c)) { char offset = std::isupper(c) ? 'A' : 'a'; result += (c - offset + 13) % 26 + offset; } else { result += c; } } return result; } int main() { std::cout << rot13("Hello World") << std::endl; // Output: Uryyb Jbeyq return 0; }

Командная строка Linux/Unix

# Using tr command echo "Hello World" | tr 'A-Za-z' 'N-ZA-Mn-za-m' # Output: Uryyb Jbeyq # Decode (same command) echo "Uryyb Jbeyq" | tr 'A-Za-z' 'N-ZA-Mn-za-m' # Output: Hello World # Process a file cat input.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' > output.txt

📚 Исторический контекст

ROT13 стал популярным в Usenet в 1980-х годах как способ скрыть потенциально оскорбительный контент. Его описывают как "эквивалент Usenet печати ответа вверх ногами".

  • Возник в ранней интернет-культуре
  • До сих пор используется на современных форумах и досках обсуждений
  • Встроен во многие текстовые редакторы (например, Vim)
  • Стандарт в утилитах Unix

🔗 Связанные инструменты шифрования