我在VB6中编码,但是如果有帮助我可以为VB.net重写它。
我正在使用XOR进行一些基本加密:printa = printa + Chr((q Xor chCode))
我正在将结果转换回字符。当我加倍加密时,问题出现了。我认为当XOR运算产生0时会出现问题。因此,Chr(0)=空字符。 PS:chCode可以是1到254之间的任何东西。当我加倍加密时,源文本通常在可打印字符的范围之外。
任何帮助将不胜感激。如果需要,我会尝试提供更多信息。谢谢
答案 0 :(得分:0)
加密是一种对邮件的所有位都有效的操作,结果不再在可打印区域内,如您所述。
在VB内部处理这样的字符串没有固有的问题,因为它将字符串长度存储在字符串的开头,而不是像C中那样使用空终止。
如果您需要,您应该查看对加密邮件进行base64编码以返回可打印范围。这样做基本上是使用4个字节来表示每个3字节的6位。