日期:2014-05-18  浏览次数:20537 次

数字证书加密
我是用数字证书做的加、解密方法,我正确的生成了一个 abc.cer文件和abc.pfx文件(并设定密码123)
C# code

//加密
byte[] enData;
private void encrypt(){
                string str = txtContent.Text;
                byte[] data = System.Text.ASCIIEncoding.ASCII.GetBytes(str);
                X509Certificate2 cert = new X509Certificate2("C:\\abc.cer");
                RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PublicKey.Key;
                enData = rsa.Encrypt(data, false);//加密,得到加密后的字节组(该步骤是成功的)
}


C# code

//解密
private void decrypt(){
                X509Certificate2 cert = new X509Certificate2("C:\\abc.pfx", "123");
                RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey;
                byte[] data = rsa.Decrypt(enData, false);//解密(报错了:不正确的项)
}


为什么会在那一步报错呢?? 求高手啊!!有人遇到过吗????????

------解决方案--------------------
参考