在VB.NET中模拟字节溢出

在VB.NET中模拟字节溢出,vb.net,byte,overflow,encode,Vb.net,Byte,Overflow,Encode,我想在VB.NET中模拟字节溢出。 下面的代码实现了正确的结果,但我怀疑这不是最有效的方法。有没有更简单/更好的方法来实现这一点 Dim src As Byte = 232 Dim key As Byte = 231 Dim encoded As Byte = 0 Dim decoded As Byte = 0 ' Encode encoded = CByte((CInt(src) + CInt(key)) Mod 256I) ' Decode Dim tmp As Int3

我想在VB.NET中模拟字节溢出。 下面的代码实现了正确的结果,但我怀疑这不是最有效的方法。有没有更简单/更好的方法来实现这一点

 Dim src As Byte = 232
 Dim key As Byte = 231
 Dim encoded As Byte = 0
 Dim decoded As Byte = 0

 ' Encode
 encoded = CByte((CInt(src) + CInt(key)) Mod 256I)

 ' Decode
 Dim tmp As Int32 = CInt(encoded) - CInt(key)
 decoded = CByte(IIf(tmp < 0, 256I + tmp, tmp))

 ' encoded = 207
 ' decoded = src = correct
Dim src作为字节=232
Dim键,字节=231
Dim编码为字节=0
Dim解码为字节=0
'编码
编码=CByte((CInt(src)+CInt(键))Mod 256I)
“解码
变暗tmp为Int32=CInt(编码)-CInt(键)
解码=CByte(IIf(tmp<0,256I+tmp,tmp))
'编码=207
'decoded=src=correct

是的,你可以让它更快。但是,它需要更改项目建筑选项。将新项目添加到解决方案中。右键单击它,属性,构建选项卡,向下滚动,单击高级编译选项按钮。勾选“删除整数溢出检查”选项

现在你可以这样写:

    Dim src As Byte = 232
    Dim key As Byte = 231
    Dim encoded As Byte = src + key
    Dim decoded As Byte = encoded - key
您可以在新项目中公开的公共方法中执行此操作


一定要小心凯撒密码的实用性,它太容易破解了。System.Cryptography名称空间有更好的选择,也不需要您修补具有棘手副作用的全局构建选项。

是的,您可以使其更快。但是,它需要更改项目建筑选项。将新项目添加到解决方案中。右键单击它,属性,构建选项卡,向下滚动,单击高级编译选项按钮。勾选“删除整数溢出检查”选项

现在你可以这样写:

    Dim src As Byte = 232
    Dim key As Byte = 231
    Dim encoded As Byte = src + key
    Dim decoded As Byte = encoded - key
您可以在新项目中公开的公共方法中执行此操作


一定要小心凯撒密码的实用性,它太容易破解了。System.Cryptography名称空间有更好的选择,也不需要您修补具有棘手副作用的全局构建选项。

是的,您可以使其更快。但是,它需要更改项目建筑选项。将新项目添加到解决方案中。右键单击它,属性,构建选项卡,向下滚动,单击高级编译选项按钮。勾选“删除整数溢出检查”选项

现在你可以这样写:

    Dim src As Byte = 232
    Dim key As Byte = 231
    Dim encoded As Byte = src + key
    Dim decoded As Byte = encoded - key
您可以在新项目中公开的公共方法中执行此操作


一定要小心凯撒密码的实用性,它太容易破解了。System.Cryptography名称空间有更好的选择,也不需要您修补具有棘手副作用的全局构建选项。

是的,您可以使其更快。但是,它需要更改项目建筑选项。将新项目添加到解决方案中。右键单击它,属性,构建选项卡,向下滚动,单击高级编译选项按钮。勾选“删除整数溢出检查”选项

现在你可以这样写:

    Dim src As Byte = 232
    Dim key As Byte = 231
    Dim encoded As Byte = src + key
    Dim decoded As Byte = encoded - key
您可以在新项目中公开的公共方法中执行此操作


一定要小心凯撒密码的实用性,它太容易破解了。System.Cryptography名称空间有更好的选择,也不需要您修补具有棘手副作用的全局构建选项。

如果您需要对工作代码的反馈,最好询问codereview.stackexchange.comOk,谢谢,我会这样做。如果您需要对工作代码的反馈,更好的提问地点是codereview.stackexchange.comOk,谢谢,我会这么做。如果你想获得工作代码的反馈,最好的提问地点是codereview.stackexchange.comOk,谢谢,我会这么做。如果你想获得工作代码的反馈,最好的提问地点是codereview.stackexchange.comOk,谢谢,我会这么做。