VB.NET 对十进制值执行 XOR

VB.NET Performing XOR On Decimal Values

我正在将一些代码从 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。

任何关于如何实现它的帮助或提示将不胜感激。

简单的回答。使用 Long 而不是 Integer。基本上,Integer 类型太小,无法容纳您在示例中使用的值。

您的测试代码的输出是 NDIzNzA4OTQ3Mw== - 通过 VS Express 编码,只是为了证明这确实有效。