VB.NET对十进制值执行XOR

时间:2018-04-08 06:38:19

标签: vb.net xor

我正在将一些代码从php移植到vb.net,但我卡住了 关于XOR功能。其中一个,我不能执行XOR 值大于整数数据类型范围。

这是我的测试代码:

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim A As Integer = 1254378503
    Dim B As Integer = 3058210502 'Overflow here
    Dim SIGN1 = A Xor B
    Dim SIGN2 = EncodeBase64(SIGN1)
    MsgBox(SIGN2)
End Sub
Public Function EncodeBase64(ByVal input As String) As String
    Return System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(input))
End Function
End Class

我一直在浏览有关我的问题的其他帖子,但老实说 我找不到任何解决方案或根本无法理解它。基本问题是如何像php一样对十进制数据类型(大于整数)执行XOR。

任何有关如何实现这一目标的帮助或暗示都会有很多不足之处。

1 个答案:

答案 0 :(得分:0)

简单的回答。使用Long代替Integer。基本上,Integer类型太小,无法保存您在样本中使用的值。

测试代码的输出为NDIzNzA4OTQ3Mw== - 通过VS Express进行编码,只是为了表明这实际上有效。