Текст перетворюємо на байти (UTF-8), кожен байт складаємо за модулем 2 (XOR) з байтом ключа. Повторний XOR тим самим ключем повертає оригінал.
Редагуйте будь-яке з полів: друге оновлюється саме.
XOR: 0⊕0=0, 0⊕1=1, 1⊕0=1, 1⊕1=0. Якщо ключ коротший за текст, він повторюється по колу. Літери кирилиці в UTF-8 займають 2 байти, тому «Привіт» — це 12 байтів, а не 6.
Такий шифр ламається, якщо ключ короткий або повторюється: частини тексту, зашифровані однаковими байтами ключа, можна порівняти між собою. Справді стійкий лише одноразовий блокнот — випадковий ключ завдовжки з повідомлення, який ніколи не повторюється.