кодирование | декодирование | сжатие

> rot13 | rot47 | caesar <

// ROT13/ROT47 – простые шифры подстановки для сокрытия текста

[ПРОСТО]

Легкая обфускация

Быстро скрывайте текст для спойлеров, головоломок или базовой приватности.

[ОБРАТИМО]

Самоинверсный

Одна и та же операция кодирует и декодирует – двойное применение возвращает исходный текст.

[ГИБКО]

Несколько режимов

ROT13 для букв, ROT47 для всех печатных символов ASCII или произвольные значения сдвига.

>> техническая информация

Как работают ROT13/ROT47:

ROT13 заменяет каждую букву буквой, отстоящей на 13 позиций дальше в алфавите. ROT47 делает то же самое для всех печатных символов ASCII (33–126). Пользовательский шифр Цезаря позволяет задавать любые значения сдвига для букв.

Примеры:

ROT13: Hello → Uryyb ROT47: Hello! → w6==@P

Зачем использовать ROT13/ROT47:

  • >Скрытие спойлеров на форумах
  • >Простая обфускация текста
  • >Головоломки и игры
  • >Базовая защита приватности
  • >Обучение криптографии

>> часто задаваемые вопросы

Что такое ROT13?

ROT13 (вращение на 13 позиций) – это простой шифр подстановки, который заменяет каждую букву буквой, находящейся на 13 позиций дальше в алфавите. Он самоинверсный: двукратное применение возвращает исходный текст.

В чем разница между ROT13 и ROT47?

ROT13 вращает только буквы (A–Z, a–z), оставляя цифры и символы без изменений. ROT47 вращает все печатные символы ASCII (! до ~), включая цифры, буквы и знаки препинания.

Является ли ROT13 безопасным шифрованием?

Нет, ROT13 не является безопасным шифрованием. Это очень простой шифр подстановки, который легко взломать. Он предназначен для легкой обфускации, например скрытия спойлеров, а не для реальной защиты данных.

Что такое шифр Цезаря?

Шифр Цезаря сдвигает буквы на фиксированное число позиций в алфавите. ROT13 – частный случай шифра Цезаря со сдвигом 13. Считается, что Юлий Цезарь использовал сдвиг 3.

// Краткий справочник

PlainCipher
A B C D E F G H I J K L MN O P Q R S T U V W X Y Z
N O P Q R S T U V W X Y ZA B C D E F G H I J K L M

// Примеры кода

Hello, World!  ->  Uryyb, Jbeyq!     (apply again -> Hello, World!)
13 + 13 = 26 letters, so ROT13 is its own inverse.

sh      echo 'Hello' | tr 'A-Za-z' 'N-ZA-Mn-za-m'
python  import codecs; codecs.encode('Hello', 'rot13')
ROT5    rotates digits 0-9 by 5
ROT47   rotates printable ASCII 33..126 by 47 (also self-inverse)

>> Другие вопросы

В: ROT13 — это шифрование?

О: Нет. Ключа нет: любой может мгновенно вернуть текст. ROT13 лишь скрывает текст от беглого взгляда (спойлеры, шутки, ответы на загадки), но не защищает данные.

В: Почему двойное применение ROT13 возвращает исходный текст?

О: В латинском алфавите 26 букв, а 13 — половина. Два сдвига на 13 дают 26, то есть исходную позицию. Шифрование и расшифровка — одна и та же операция.

В: Что делают ROT5 и ROT47?

О: ROT5 сдвигает цифры 0–9 на 5. ROT47 сдвигает все печатные символы ASCII (33–126) на 47 и тоже обратим сам себе. ROT13 + ROT5 охватывает буквы и цифры.

Другие языки