加密公钥:PublicKey.xml 解密私钥:myKey.xml (这两个文件里的内容是不变的,我已经生成好了)我把加密后的数据复制到记事本上,然后重新运行程序,接密成功;
但是加密后的数据写入到数据后,取出来就不能接密了,就报错。
错误的内容如下:不正确的数据。byte [] decryptStr=rsa.Decrypt(StrByte(s),false);//这里包错
public class RSA:System.Web.UI.Page
{ public RSA()
{
//
// TODO: 在此处添加构造函数逻辑
//

}
public byte [] StrByte(string s)
{
UnicodeEncoding byteConverter=new UnicodeEncoding();
byte [] b=byteConverter.GetBytes(s); return b; } public string ReadMyKey()
{
StreamReader reader=new StreamReader(Server.MapPath("/key/myKey.xml"));
string myKey=reader.ReadToEnd();
reader.Close();
return myKey;
} public string PublicKey() 
{
StreamReader reader=new StreamReader(Server.MapPath("/key/PublicKey.xml"));
string PKey=reader.ReadToEnd(); reader.Close();
return PKey;
} public string EncryptRSA(string s)
{
UnicodeEncoding byteConverter=new UnicodeEncoding();
RSACryptoServiceProvider rsa=new RSACryptoServiceProvider();
rsa.FromXmlString(this.PublicKey());
byte [] encryptStr=rsa.Encrypt(StrByte(s),false);
return byteConverter.GetString(encryptStr);

} public string DecryptRSA(string s)
{
UnicodeEncoding byteConverter=new UnicodeEncoding();
RSACryptoServiceProvider rsa=new RSACryptoServiceProvider();
rsa.FromXmlString(this.ReadMyKey());
byte [] decryptStr=rsa.Decrypt(StrByte(s),false);
return byteConverter.GetString(decryptStr); }
}