Печать закодированной строки

Я рассматривал этот вопрос ( это какой-то взлом CakePHP? ), И когда я смотрел на код, я увидел эту строку:

$wp_cw_kses_split = '>=^/E]u*PDAF$!V'^']O;N18*L%*"2MN8'; 

Когда я повторяю это, это create_function .

Как это работает? Я имею в виду, что это даже строка? Внутри него нет поддержки.

Демо: http://ideone.com/rk2Og

Он выполняет побитую операцию XOR по двум строкам: '>=^/E]u*PDAF$!V' и ']O;N18*L%*"2MN8' .

 var_dump('>' ^ ']'); // string(1) "c" var_dump('=' ^ 'O'); // string(1) "r" var_dump('^' ^ ';'); // string(1) "e" // ... etc 

Побитовая операция XOR выполняется по коду ASCII символов, поэтому для первого,

 ">" = 62 (ASCII) = 0111110 ^ = XOR ------- "]" = 93 (ASCII) = 1011101 ========================== "c" = 99 (ASCII) = 1100011 

Это побитовая операция XOR для строк, что означает, что значения ascii символов XORed. Руководство Пример 2

У вас есть две разные строки: >=^/E]u*PDAF$!V и ]O;N18*L%*"2MN8

Это выражение, операция двух строк:

  1: '>=^/E]u*PDAF$!V' operator: ^ - bitwise XOR 2: ']O;N18*L%*"2MN8' 

Как вы можете видеть, ' не« не привязаны », но это по замыслу. Это выглядит немного загадочно, поэтому мозг не читает его как три вещи, а одно (визуальный рисунок конца строки просто слишком привлекателен).