帮助解决XOR误解

时间:2014-04-28 06:47:05

标签: vb.net xor

有人可以向我解释,为什么如果来自文本框的输入字符串是十进制21(&H32 &H31),它会返回63而不是3 提前谢谢。

这是我的代码:

Dim BCCXOR As Integer = &H0

For i As Integer = 0 To TextBox1.TextLength - 1
    BCCXOR = (BCCXOR) Xor Hex(Strings.Asc(TextBox1.Text.Substring(i, 1).ToString()))
Next

Label1.Text = BCCXOR

1 个答案:

答案 0 :(得分:1)

因为您要求他使用ascii值。

下面的代码实际上使用数字

Dim BCCXOR As Integer = &H0

For i As Integer = 0 To TextBox1.TextLength - 1
     BCCXOR = (BCCXOR) Xor Hex(Cint(TextBox1.Text.Substring(i, 1).ToString()))
Next

Label1.Text = BCCXOR