Вопрос по encryption, c# – Не удается расшифровать зашифрованный ключ RSA

3

Короче говоря, я использую DES и шифрую пароль с помощью RSA для обмена ключами, пароль не превышает 16 символов проблема в том, что когда я шифрую ключ, зашифрованный размер становится слишком большим для меня, чтобы расшифровать Вот мой код RSA для шифрования и дешифрования:

Зашифровать: - я пробовал localpwd как "asd"

    byte[] plaintext = utf8.GetBytes(localpwd);
    byte[] ciphertext = rsaservice.Encrypt(plaintext, false);
    string cipherresult = Convert.ToBase64String(ciphertext);

Затем я печатаю зашифрованный ключ в текстовом поле и пытаюсь расшифровать

    byte[] ciphertext = utf8.GetBytes(filetest.Text);
    byte[] plain = rsaservice.Decrypt(ciphertext, true);
    string plaintext = utf8.GetString(plain);

я получаю "данные, которые должны быть расшифрованы, превышают максимум для этого модуля в 256 байтов". я попытался увеличить размер ключа, чтобы иметь возможность шифровать и дешифровать ключи большего размера, но увеличение ключа просто увеличивает размер зашифрованных данных, что приводит к той же ошибке пожалуйста помоги!!!

Я использую кодировку utf8, чтобы преобразовать в байты и снова вернуться к строке Adel Ahmed
Я не вижу обратнойToBase64String() Henk Holterman

Ваш Ответ

1   ответ
5
//byte[] ciphertext = utf8.GetBytes(filetest.Text);
  byte[] ciphertext = Convert.FromBase64String(filetest.Text);
Все строки могут быть закодированы в Unicode .... Это не должно иметь значения здесь.
Я НЕ ЗНАЮ, КАК ХОРОШО СПАСИБО
WOW никогда не думал, что это будет так просто, вы, сэр, только что спасли мою жизнь: D спасибо Adel Ahmed
Можно ли использовать Unicode? Я пытаюсь отправить по сетевому потоку, и я не могу сделать это для строк Base64 Adel Ahmed

Похожие вопросы