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

时间:2016-06-22 22:37:44

标签: c++ encoding rsa command-line-interface

我一直无法将RSA加密字节编码为字符串,然后将它们恢复到另一端的字节(远程主机)。另一方面,它提出了不良数据的例外。我试过谷歌,没有运气。

我的代码到目前为止:

PC1:

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

我将 Test2 发送到PC2。我发送的任何其他内容,任何类型的任何文本或字节都按预期到达另一端,但是对RSA加密字节执行。

PC2:

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

即使我在本地返回功能,它仍然会说相同的错误数据。我有一个1024位的密钥,所以加密大小应该是128字节,它是,但它仍然说是坏数据。

任何帮助都会受到影响。

1 个答案:

答案 0 :(得分:1)

加密数据不是ASCII,大多数字节将落入不可打印区域,如果需要String格式的加密数据,则需要转换为其他编码,如Base64或十六进制。