我已经制作了这段代码
RSACryptoServiceProvider RSASign = new RSACryptoServiceProvider();
StreamReader sr = File.OpenText("PublicPrivate.txt");
string myKey = sr.ReadToEnd();
sr.Close();
RSASign.FromXmlString(myKey);
byte[] signature = RSASign.SignData(arr, new SHA384CryptoServiceProvider());
string head = "<!>Signature</!>";
byte[] headBytes = Encoding.Default.GetBytes(head);
byte[] arrayToSend = new byte[headBytes.Length + signature.Length];
arrayToSend = headBytes.Concat(signature).ToArray();
UserSock.Send(arrayToSend);
我在我的计算机上遇到了这个问题,一切正常,但是当我在另一台计算机上复制 exe 文件时,我在 RSASign.SignData() 函数上收到错误消息。问题是否可能与不同的 .net 框架版本有关。在我的电脑上,我有 4.5 版,我在一些有 3.5 和 4 的电脑上对其进行了测试。否则我不知道应该是什么问题。我确定 RSA 私钥已正确读取。谢谢大家。