System.Security.Cryptography.CryptographicException: 'Cryptography_OAEPDecoding' [решено] - PullRequest
1 голос
/ 18 апреля 2020

У меня есть программа, которая должна расшифровать 3 фразы с использованием RSA privateKey, но продолжает показывать это исключение, System.Security.Cryptography.CryptographicException: 'Cryptography_OAEPDecoding', что мне нужно изменить, чтобы оно работало ?, я ' Я пытался увидеть другие страницы, но это слишком запутанно, и я заканчиваю тем, что добавил слишком много закомментированного кода и начал снова.

Исключение, которое появляется

1 Ответ

1 голос
/ 18 апреля 2020

Ошибка возникает из-за того, что вы явно указываете провайдеру службы шифрования RSA использовать заполнение OAEP , но ваши шифры шифруются с использованием дополнения PKCS1.

// Your current statement:
var decryptedBytes = rsa.Decrypt(resultBytes, true);

Второй параметр (задокументирован fOAEP как:

//   fOAEP:
//     true to perform direct System.Security.Cryptography.RSA decryption using
//     OAEP padding (only available on a computer running Microsoft Windows XP or
//     later); otherwise, false to use PKCS#1 v1.5 padding.

Таким образом, просто изменив на false;

var decryptedBytes = rsa.Decrypt(resultBytes, false);

Мы получим следующий вывод:

INICIO DE LA SEGUNDA PARTE
M A N D A   C O R R E O   A   J A V I E R   B E L
C O N   T U   N O M B R E   C O M P L E T O
Y   L A   F E C H A / H O R A

Важное примечание:

Возможно, во время копирования / вставки ваши base64-шифры неверны. Я исправил их следующим образом:

var FRASE1 = "IlmhPFKroDuK4AUtBGfaf5J6791DzMenkUBEXfRwZ7rmBHswHTf02LAba/Hs+rsh3wL6dpMQlEhlaIAVHaZZsw==";
var FRASE2 = "AMbsYR1pq9WYUj3mdqKvJj7tMznqBAcZLxM2C6WzNEUOqKD/qdEE76bNJPmYFKwVei2rhuHFsxh7nUzXmVKRdw==";
var FRASE3 = "J1jnq551phV+W4MVzE5caXIHqM3E0gz/t9PVtorqvDVqfne8CCF9UQiEk33Rssi1IEz6JH8Fd8ZAvnX3UWe5Vw==";
...