Я создаю приложение C# Winforms, которое отправляет данные на сервер по протоколу HTTPS.
Механизм входа в систему должен быть таким:
Я отправляю имя пользователя на сервер, он отвечает rsa-модулем и rsa-экспонентой
Я шифрую пароль, используя эти заданные параметры, и отправляю имя пользователя + пароль к серверу для аутентификации
Я попробовал класс RSACryptoServiceProvider
, но не могу найти образцы или что-либо, что говорит о , как мы можем выполнить шифрование, используя заданный модуль и показатель степени?.
Я думаю, что без указания каких-либо значений он использует параметры шифрования по умолчанию..
Так что, если кто-то делал это раньше, может ли он дать мне несколько советов, пожалуйста? спасибо
ОБНОВЛЕНИЕ : по предложению г-на Карстена Конига, . Я пытался сделать это с помощью RSAParameters и RSA.ImportParameters
, но он возвращает ошибку «BAD DATA» с криптографическим исключением. Мой код приведен ниже.
Я также пробовал RSA.FromXmlString(mykey)
; (где mykey
содержит строку xml с модулем и выражением), но я также получаю ошибку "BAD DATA" с криптографическим исключением...любая идея кто-нибудь? или, если это какая-то ошибка Microsoft, может ли кто-нибудь предложить какую-нибудь другую приличную библиотеку, чтобы сделать это легко?
RSAParameters rsaparam = new RSAParameters();
rsaparam.Modulus = modbytes;
rsaparam.Exponent = expbytes;
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider() ;
RSA.ImportParameters(rsaparam);
byte[] encryptedData = RSA.Encrypt(dataToEncrypt, false)