密钥 '%.*ls' 未打开。请先打开它,然后再使用它。怎么解决?
我遇到的现象是:执行了打开秘钥的脚本,也没报错,数据没解密出来最后关闭的时候就提示上面的语句!
打开文件,读密钥,读加密数据,解密,原始纯文本(解密数据)到文件:
RSACryptoServiceProvider rsac = new RSACryptoServiceProvider();
//读密钥
StreamReader sr = new StreamReader("RSA.key");
String str = sr.ReadToEnd();
sr.Close(); rsac.FromXmlString(str);
byte[] src = new byte[128];
FileStream fs = new FileStream("Result.txt", FileMode.Open, FileAccess.Read);
FileStream res = new FileStream("Encrypt.txt", FileMode.Create, FileAccess.Write);
int len;
//解密
while ((len = fs.Read(src, 0, 128)) > 0)
{
byte[] temp = new byte[len];
Array.Copy(src, 0, temp, 0, len); temp = rsac.Decrypt(temp, false);
res.Write(temp, 0, temp.Length);
}
fs.Close();
res.Close();
这个行不行