生成后取出密钥的方法是:
RSACryptoServiceProvider crypt = new RSACryptoServiceProvider();
RSARarameters param = crypt.ExportParameters(true);
crypt.ImprotParameters(param);
crypt.clear;

解决方案 »

  1.   

    using System;
    using System.Security.Cryptography;
    class test{
    public static void Main(string[] args){
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
    string xmlstring = rsa.ToXmlString(true);
    Console.WriteLine(xmlstring); RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider();
    Console.WriteLine(rsa2.ToXmlString(true));
    rsa2.FromXmlString(xmlstring);
    Console.WriteLine(rsa2.ToXmlString(true));
    }
    }你会发现调用FromXmlString之后,rsa2的密钥和rsa一样。
    在存储的时候最好用Unicode编码,避免丢失数据。
      

  2.   

    密钥容器是最好的选择,它还可以与你安装的证书匹配。如果你的应用不是放在容器里,那你就用XML文件进行转换,再拿来用,至少在C#及.net framework里这样用的。