XOR-шифр

Шифруйте и расшифровывайте текст XOR-шифром онлайн. Инструмент применяет побитовую операцию исключающего ИЛИ к данным побайтно, поддерживает текстовые и hex-ключи, циклически повторяет короткий ключ и выводит зашифрованный результат в виде hexadecimal-строки.

Ключ
Входные данные
0 симв. · 0 байт
Попробовать:
Результат
✓ Симметричный шифр — один ключ для шифрования и дешифрования ✓ Короткий ключ циклически повторяется до длины сообщения ✓ Мы не сохраняем ваши сообщения ✓ Вычисления выполняются на сервере
Примеры
Зашифровать ПРИВЕТ Ключ: КЛЮЧ
Вход ПРИВЕТ
Выход 0005003B00360035000F0039

Ключ: КЛЮЧ. Инструмент применяет XOR к UTF-8 байтам текста и циклически повторяет ключ до длины сообщения.

Зашифровать АТАКА НА РАССВЕТЕ Ключ: СЕКРЕТ
Вход АТАКА НА РАССВЕТЕ
Выход 00310037000A003A0005F0724D7140B5003A0030003400030033000000380035

Каждый UTF-8 байт текста XOR-ится с циклически повторяющимся ключом СЕКРЕТ. Пробелы тоже участвуют в операции XOR.

Расшифровать hex-шифртекст Ключ: КЛЮЧ
Вход 0005003B00360035000F0039
Выход ПРИВЕТ

Вставьте hex-строку и используйте тот же ключ: повторное применение XOR восстанавливает исходный текст.

Шифрование с hex-ключом Ключ: 42 (HEX)
Вход ПРИВЕТ
Выход 92DD92E292DA92D092D792E0

Формат ключа: Hex. Однобайтовый ключ 0x42 применяется к каждому байту UTF-8 представления текста.

Как работает XOR-шифр

XOR-шифр — это симметричный метод побайтового шифрования, основанный на побитовой операции исключающего ИЛИ. Каждый байт исходного сообщения объединяется с одним байтом ключа. Если ключ короче сообщения, он повторяется циклически, пока не будут обработаны все байты.

У XOR есть важное обратимое свойство: если применить тот же ключ повторно, восстановятся исходные данные. Поэтому этот инструмент использует один и тот же алгоритм для шифрования и расшифровки. В режиме шифрования он принимает обычный текст и возвращает hex-шифртекст. В режиме расшифровки он ожидает корректную hex-строку, преобразует её обратно в байты, применяет XOR с тем же ключом и возвращает исходный текст.

Такой подход часто называют гаммированием: байты ключа работают как гамма, или поток ключевых байтов, который объединяется с сообщением. Стойкость результата зависит от качества этой гаммы.

Текстовые ключи, hex-ключи и hex-вывод

Сервис поддерживает два формата ключа. В режиме Text ключ обрабатывается как обычный UTF-8 текст. В режиме Hex ключ интерпретируется как сырые байты, записанные в шестнадцатеричном виде, поэтому можно напрямую использовать значения вроде DEADBEEF или DE AD BE EF.

Зашифрованный результат выводится в uppercase hex, потому что XOR может создавать любые двоичные байты, включая байты, которые не являются печатным текстом. Hex-кодирование делает результат удобным для копирования, хранения, вставки в декодер, тестов и примеров.

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

XOR-шифр, шифр Вернама и одноразовый блокнот

XOR-шифр и шифр Вернама используют одну и ту же базовую операцию: байты сообщения объединяются с байтами ключа через XOR. Практическая разница в том, как выбирается и используется ключ.

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

Когда использовать этот инструмент XOR-шифра

Используйте этот онлайн XOR encoder и decoder, чтобы изучать побитовое шифрование, проверять работу XOR с повторяющимся ключом, анализировать hex-шифртекст или воспроизводить простые XOR-преобразования в учебных материалах и задачах по программированию.

Для настоящей защиты паролей, личных сообщений, API-токенов или рабочих данных лучше использовать современные алгоритмы аутентифицированного шифрования, а не классический XOR-шифр с повторяющимся ключом.

FAQ

XOR работает с сырыми байтами, а результат может содержать любые значения, включая непечатаемые символы и нулевые байты. Hexadecimal-кодирование даёт безопасное и читаемое представление произвольных двоичных данных. При расшифровке вставьте hex-шифртекст: инструмент преобразует его обратно в байты, применит XOR и вернёт исходный текст.

Оба шифра применяют XOR побайтно с ключом. Главное отличие — в управлении ключом: шифр Вернама, или одноразовый блокнот, требует действительно случайный ключ длиной не меньше сообщения, который никогда не используется повторно. Это делает его теоретически невзламываемым. Обычный XOR-шифр часто использует более короткий повторяющийся ключ, что удобно, но делает шифртекст уязвимым к статистическому анализу, особенно если ключ короткий или применяется повторно.

Поскольку XOR самообратим (A XOR B XOR B = A), для расшифровки нужен тот же ключ, что и для шифрования. Откройте вкладку Decode, вставьте hex-шифртекст, введите тот же ключ и запустите инструмент. Он декодирует hex-байты, применит XOR и вернёт исходный открытый текст.

Инструмент поддерживает текстовые и hex-ключи. Текстовые ключи используются как UTF-8 байты. Hex-ключи интерпретируются как сырые байтовые значения, поэтому можно вводить ключевой материал вроде 42, DEADBEEF или DE AD BE EF.

Да. Инструмент игнорирует не-hex-разделители при чтении hex-данных. После удаления разделителей оставшееся значение должно содержать чётное количество шестнадцатеричных символов, чтобы его можно было декодировать в полные байты.

Ключ циклически повторяется, пока не достигнет длины сообщения. Это обычное поведение для repeating-key XOR, но оно создаёт закономерности, которые могут облегчить анализ шифртекста.

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

Да. Инструмент работает с байтами, поэтому Unicode-текст обрабатывается как UTF-8 данные. Зашифрованный результат всё равно выводится в hex, потому что выходные байты могут не быть печатными символами.

При гаммировании сообщение объединяется с последовательностью ключевых байтов, которую называют гаммой или потоком ключа. XOR — это операция, которая объединяет такую гамму с сообщением, а затем обращает преобразование при повторном применении той же гаммы.
Связанные инструменты

Шифр Вернама

Шифрование по Вернаму на основе XOR с выводом в Base64.

Шифр Виженера

Многоалфавитное шифрование и расшифрование с ключевым словом.

Шифр Цезаря

Классический шифр со сдвигом букв и настраиваемым значением сдвига.

Шифр простой замены

Онлайн-шифр моноалфавитной замены с пользовательским перемешанным алфавитом.

Шифр Плейфера

Классический биграммный шифр замены с шифрованием по ключевой матрице.