Hex - это представление байтов для потребления человеком. При выполнении XOR вы должны выполнить это на двоичных данных. Это означает кодирование открытого текста с использованием набора символов (в данном случае, вероятно, US-ASCII) и шестнадцатеричное декодирование зашифрованный текст.
Если у вас есть два байтовых массива, вы можете XOR каждого байта с байтом с тем же индексом.
поток ключей , вероятно, является случайными двоичными данными, поэтому вы можете шестнадцатеричное кодирование ключа, чтобы лучше рассмотреть на него. Если вы видите только разумные результаты между 0x20 (пробел) и 0x7E, то это, вероятно, текст ASCII, и вы можете вместо этого выполнить декодирование символов .