Побитовое исключающее ИЛИ можно использовать для шифрования данных.
Так как двойное применение XOR с тем же аргументом, даёт на выходе исходное число.
Простыми словами, верна формула
a ^ b ^ b == a.Таким образом, при условии, что
key = 100500, а data = 10.Мы получаем шифровку так
data ^ key = 100510.Отправляем эту шифровку куда надо, и для расшифровки делаем так
100510 ^ key = 10.При этом, конечно же,
key должен остаться неизвестным в процессе транспортировки шифровки или ее генерации.И следует учесть, что в том же JavaScript побитовые операторы работают с 32 битными числами и это накладывает свои ограничения.
Ну а сама шифровка хоть и очень простая и поддается алгоритмам дешифровки, но всё же в некоторых случаях может быть полезна.
Так что если хотите понтонуться в коде, - юзайте такие цыганские фокусы 🔥