C# 将文本转换为二进制,并使用XOR运算符按键添加
我将文本和键从字符串转换为二进制。现在我想使用XOR运算符添加这两行 例如(苹果是文本,2是键;然后(A XOR 2,p XOR 2,p XOR 2,l XOR 2,e XOR 2) 我是C#的新手C# 将文本转换为二进制,并使用XOR运算符按键添加,c#,visual-studio,xor,C#,Visual Studio,Xor,我将文本和键从字符串转换为二进制。现在我想使用XOR运算符添加这两行 例如(苹果是文本,2是键;然后(A XOR 2,p XOR 2,p XOR 2,l XOR 2,e XOR 2) 我是C#的新手 您需要停止使用StringBuilder。在XOR之后,它不再是可以存储在字符串中的文本。生成一个字节[]为了取得成功。你应该如何呈现它并不明显,请查看作业。如果这应该是真正的加密,那么千万不要使用如此容易破解的加密。@HansPassant你有什么解决方案吗?请帮帮我。我是C#新手。我不知道你为什
您需要停止使用StringBuilder。在XOR之后,它不再是可以存储在字符串中的文本。生成一个字节[]为了取得成功。你应该如何呈现它并不明显,请查看作业。如果这应该是真正的加密,那么千万不要使用如此容易破解的加密。@HansPassant你有什么解决方案吗?请帮帮我。我是C#新手。我不知道你为什么需要编写此代码。谷歌“C#encrypt text”了解如何安全正确地执行此操作。
private void button1_Click(object sender, EventArgs e)
{
string Slovo = textBox1.Text;
StringBuilder sb = new StringBuilder();
foreach (byte b in System.Text.Encoding.UTF8.GetBytes(Slovo))
sb.Append(Convert.ToString(b, 2).PadLeft(8, '0')).Append(' ');
string binary1 = sb.ToString();
MessageBox.Show(binary1);
string Kluch = textBox2.Text;
StringBuilder sc = new StringBuilder();
foreach (byte c in System.Text.Encoding.UTF8.GetBytes(Kluch))
sc.Append(Convert.ToString(c, 2).PadLeft(8, '0')).Append(' ');
string binary2 = sc.ToString();
MessageBox.Show(binary2);
int a = Convert.ToInt32(binary1); //System.FormatException: 'Additional non-parsable characters are at the end of the string.'
int d = Convert.ToInt32(binary2); //System.FormatException: 'Additional non-parsable characters are at the end of the string.'
int sum = a ^ d;
MessageBox.Show(sum.ToString());
}