Всегда задавай себе вопрос — а не хуйню ли я делаю?
Кринжатину давно не постил. Исправляюсь. А ты знал… хотя нет, скорее всего, не знал. Короче, если к слову «Linux» применить XOR-шифрование с маской 28, то получится слово PURID = «чистый».
Это как если к слову «хлеб» применить XOR, то получится «пиво».
Смотри:
echo -e $(printf '\\x%x' $[ 64#{L,I,N,U,X} + 29 ^ 28 ])
echo -e $(printf '\\x%x' $[ 64#{P,U,R,I,D} + 29 ^ 28 ])
Сразу пример туда-обратно. Что тут происходит? Если кратко — происходят вычисления.
Для слова «Linux» в фигурных скобках применяется Bash Brace Expansion, который приводит слово к такому виду:
L,I,N,U,X
Арифметическое действие происходит в $[ ]. А решётка + 64 означает, что числа будут интерпретированы как шестидесятеричные (в системе счисления по основанию 64).
В итоге получаем число, которое будет вычислено как комбинация ASCII-кодов символов L, I, N, U, X (в шестидесятеричной системе) + 29, к которой применяется маска 28 (используется оператор ^ как побитовое исключающее ИЛИ).
Ну и echo -e — разрешаем интерпретацию escape-последовательностей в строке.
perl -E 'say map { chr(ord($_) ^ 28) } qw(L i n u x)'
perl -E 'say map { chr(ord($_) ^ 28) } qw(P u r i d)'
Где это можно применить, понятия не имею. Возможно, это как-то натолкнёт тебя на правильные мысли и ты решишь изучить методы шифрования.








Комментарии