在VB.NET中模拟字节溢出
我想在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
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,谢谢,我会这么做。