моя проблема сегодня в С#. Я делаю xor crypt для своих текстовых строк и хочу сделать для него генератор, но мой TextBox с исходным текстом возвращает разностную строку, и результат неверен.
Исключающая функция:
private string GetText(byte[] Text)
{
byte[] Key = { 0x12, 0x05, 0x52 };
// ----
for (int i = 0; i < Text.Length; i++)
{
Text[i] ^= Key[i % 3];
}
// ----
return Encoding.ASCII.GetString(Text);
}
Истинный результат:
string Text = ".\\MyExample.txt";
textBox2.Text = GetText(Encoding.ASCII.GetBytes(Text)); //Result: <Yk@*sh"~`|f}&
Ложный результат:
string Text = textBox1.Text; //Text: ".\\MyExample.txt"
textBox2.Text = GetText(Encoding.ASCII.GetBytes(Text)); //Result: <Y_|jd?bi7<q*f
Почему я получаю разные результаты и как это исправить?