VB Xor - 双重加密

时间:2014-05-27 17:25:32

标签: vb.net encryption vb6 xor

我在VB6中编码,但是如果有帮助我可以为VB.net重写它。

我正在使用XOR进行一些基本加密:printa = printa + Chr((q Xor chCode))

我正在将结果转换回字符。当我加倍加密时,问题出现了。我认为当XOR运算产生0时会出现问题。因此,Chr(0)=空字符。 PS:chCode可以是1到254之间的任何东西。当我加倍加密时,源文本通常在可打印字符的范围之外。

任何帮助将不胜感激。如果需要,我会尝试提供更多信息。谢谢

1 个答案:

答案 0 :(得分:0)

加密是一种对邮件的所有位都有效的操作,结果不再在可打印区域内,如您所述。

在VB内部处理这样的字符串没有固有的问题,因为它将字符串长度存储在字符串的开头,而不是像C中那样使用空终止。

如果您需要,您应该查看对加密邮件进行base64编码以返回可打印范围。这样做基本上是使用4个字节来表示每个3字节的6位。