//获取公钥 
public static string getPublickey() {
            RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
            return rsa1.ToXmlString(false);
        }
//获取加密后的字符串
        public static string getKey(string value,string publickey)
        {
            RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider();
            //RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
            rsa2.FromXmlString(publickey); //rsa2 导入 rsa1 的公钥,用于加密信息            //rsa2开始加密
            byte[] cipherbytes;
            cipherbytes = rsa2.Encrypt(
             System.Text.Encoding.UTF8.GetBytes(value),
             false);
            string c = Convert.ToBase64String(cipherbytes);
            //string d = System.Text.Encoding.UTF8.GetString(rsa2.Decrypt(Convert.FromBase64String(c), false));
            return c;
        }
//解密,解密这里有问题,应该是这里的rsa1不是生成公钥的那个rsa1,请问怎么将这个rsa1转变成生成公钥的那个rsa1
        public static string getValue(string key,string publickey) {
            if (!key.Equals(""))
            {
                RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
                //RSACryptoServiceProvider rsa2 = new RSACryptoServiceProvider();
                rsa1.FromXmlString(publickey);
                string result = System.Text.Encoding.UTF8.GetString(rsa1.Decrypt(Convert.FromBase64String(key), false));
                return result;
            } return "";
        }