Cześć,
Posiadacie może implementacje RSA w C# która by korzystała z kluczy publicznych i prywatnych przechowywanych jako string? Nie potrafię znaleźć odpowiedniego przykładu wszędzie klucze generowane są za pomocą RSACryptoServiceProvider.ExportParameters. W chodzi w grę w ogóle taka opcja, że mogę jako klucz zdefiniować swój własny string? czy tylko jeśli chce go mieć w postaci stringa to muszę skorzystać z .ToXmlString(true / false)

Pozdrawiam

Edit:
Ogarnąłem to RSA, ale generując klucze za pomocą :

RSACryptoServiceProvider csp = new RSACryptoServiceProvider();
string publicKey = csp.ToXmlString(false);
string privateKey = csp.ToXmlString(true);

W C# działa to prawidłwo, ale jak zaszyfruje to w JS, to C# już nie jest w stanie odszyfrowac danych:

public static string DecryptRSA(string strToDecript)
         {
             if (string.IsNullOrEmpty(strToDecript))
                 return "";

             string privateKey = null;
             try
             {
                 if (System.Configuration.ConfigurationManager.AppSettings.AllKeys.Any(k => String.Equals(k, "RSAPrivateKey", StringComparison.InvariantCultureIgnoreCase)))
                 {
                     privateKey = System.Configuration.ConfigurationManager.AppSettings["RSAPrivateKey"];
                 }
             }
             catch (Exception ex)
             {

             }

             using (RSACryptoServiceProvider provider = new RSACryptoServiceProvider())
             {
                 RSACryptoServiceProvider.UseMachineKeyStore = true;
                 provider.FromXmlString(privateKey);

                 byte[] bytes = provider.Decrypt(Convert.FromBase64String(strToDecript), false);
                 return System.Text.UnicodeEncoding.Unicode.GetString(bytes);
             }
         }