Алгоритм шифрования RSA - C# (233939)
Формулировка задачи:
Необходимо реализовать программу, которая по заданному паролю шифрует данные и дешифрует оные вышеуказанным алгоритмом.
Вот мой код для шифрования:
Вот мой код для дешифрации:
dataPassword - переменная типа string, собственно пароль
rsaInitString - переменная типа string, полученная путём экспорта параметров из RSACryptoServiceProvider rsa = new RSACryptoServiceProvider( 384 ) и записанная в файл (т.е. при запуске программы, данная переменная считывается из файла)
data - переменная типа byte[], хранящая входные данные (шифруемые данные для шифрования и зашифрованные данные для дешифрации)
Шифрование проходит успешно. А при дешифрации выдаётся ошибка "Плохой ключ". Подскажите как избавиться от данной проблемы.
PasswordDeriveBytes key = new PasswordDeriveBytes( dataPassword, Encoding.ASCII.GetBytes( "alexander" ) ); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider( 384 ); rsa.FromXmlString( rsaInitString ); RSAParameters rsaParameters = new RSAParameters(); rsaParameters = rsa.ExportParameters( false ); rsaParameters.Modulus = key.GetBytes( 48 ); rsa.ImportParameters( rsaParameters ); data = rsa.Encrypt( data, false );
PasswordDeriveBytes key = new PasswordDeriveBytes( dataPassword, Encoding.ASCII.GetBytes( "alexander" ) ); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider( 384 ); rsa.FromXmlString( rsaInitString ); RSAParameters rsaParameters = new RSAParameters(); rsaParameters = rsa.ExportParameters( false ); rsaParameters.Modulus = key.GetBytes( 48 ); rsa.ImportParameters( rsaParameters ); data = rsa.Decrypt( data, false );
Решение задачи: «Алгоритм шифрования RSA»
textual
Листинг программы
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(File.ReadAllText("private.xml")); HisMessage.Text = Encoding.UTF8.GetString(rsa.Decrypt(Convert.FromBase64String(HisSecret.Text), false));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д