加密 RSA,编码为字符串。在另一端编码回字节并解密 RSA

Encrypt RSA, encode to string. On other end encode back to bytes and Decrypt RSA

我一直无法将 RSA 加密字节编码为字符串,然后在另一端(远程主机)将它们恢复为字节,另一端抛出异常 'Bad Data'。

我试过了google,没有成功。

到目前为止我的代码:

客户:

array<Byte>^Test=Encoding::ASCII->GetBytes(Input);
array<Byte>^TempByteText=RSA->Encrypt(Test,false);
String^ TempString = Encoding::ASCII->GetString(TempByteText);
return TempString;

然后我将 TempString 发送到服务器。我发送的任何其他内容、任何文本或任何类型的字节都会按预期到达另一端,但 RSA 加密字节除外。

服务器:

array<Byte>^Test=Encoding::ASCII->GetBytes(Input);
array<Byte>^TempByteText=RSA->Decrypt(Test,false);
return TempByteText;

即使我 return 在本地运行,它仍然显示相同的错误数据。我有一个 1024 位密钥,所以加密大小应该是 128 字节,它 IS,但它仍然是 'Bad Data'.

如有任何帮助,我们将不胜感激。

加密数据不会是ASCII,大部分字节会落入不可打印区域,如果需要String格式的加密数据,需要转换成另一种编码,如Base64或十六进制。