XOR-шифр

Введите сообщение и ключ — каждый байт сообщения складывается по XOR со следующим байтом ключа, ключ повторяется по кругу. Тот же ключ, применённый к результату, возвращает сообщение, и кнопка обмена делает это за вас.

Формат входа
Формат ключа
Вывести как

Обработано байт: 12.

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Введите сообщение и выберите его формат: текст, hex или Base64.
  2. Введите ключ текстом или в hex.
  3. Выберите, как показать результат. Hex — безопасный вариант по умолчанию.
  4. Чтобы вернуть исходное, нажмите «Результат во вход»: результат перейдёт во вход, форматы поменяются местами, и с тем же ключом вы увидите оригинал.

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

Сообщение и ключ переводятся в байты (текст — в UTF-8). Байт i результата — байт i сообщения XOR байт (i mod длина ключа) ключа. Поскольку (m ⊕ k) ⊕ k = m, тот же ключ отменяет операцию.

Пример

Hello XOR ключ key:

Байт H 48 e 65 l 6c l 6c o 6f
Ключ k 6b e 65 y 79 k 6b e 65
XOR 23 00 15 07 0a

Результат — 230015070a в hex и IwAVBwo= в Base64. Обратите внимание на 00: там, где у сообщения и ключа одинаковый символ, получается нулевой байт — это один из признаков, по которым вычисляют повторяющийся ключ.

Форма на этой странице открывается со словом Привет: 6 букв кириллицы — это 12 байт UTF-8, и строка под результатом показывает «Обработано байт: 12».

Советы

  • Если нужен случайный ключ длиной с сообщение, воспользуйтесь шифром Вернама (одноразовым блокнотом).
  • Ключ в hex позволяет любые значения байтов, а не только печатные символы.
  • XOR работает внутри настоящих шифров (потоковых, режимов AES) вместе с неповторяющимся потоком ключа; сам по себе он лишь прячет данные от беглого взгляда.

Частые вопросы

Как работает шифрование XOR?

XOR сравнивает два бита и даёт 1, если они разные. XOR байта с байтом ключа переворачивает биты там, где в ключе единицы; повторный XOR с тем же ключом возвращает их обратно. Поэтому одна операция и шифрует, и расшифровывает.

Надёжен ли XOR с повторяющимся ключом?

Нет. Короткий повторяющийся ключ легко вскрыть: известный фрагмент текста, повторы и простая статистика его выдают. XOR невзламываем только как одноразовый блокнот — со случайным ключом длиной с сообщение, который никогда не используется повторно.

Почему по умолчанию вывод в hex?

После XOR часто получаются байты, которые не являются печатными символами или корректным UTF-8. Hex и Base64 безопасно показывают любые байты. Вывод текстом работает, когда результат оказывается текстом — например, при расшифровке.

Как расшифровать?

Вставьте зашифрованный hex или Base64 во вход, выберите этот формат, введите тот же ключ и вывод текстом. Кнопка «Результат во вход» переносит результат и меняет форматы местами одним нажатием.

Текст берётся как ASCII или UTF-8?

Как UTF-8. Латинские буквы и цифры — по байту, а кириллица — по два байта на букву, и каждый байт складывается по XOR отдельно.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 4 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.