RSA_private_decrypt return -1 - PullRequest
       18

RSA_private_decrypt return -1

0 голосов
/ 09 октября 2018

У меня есть исходный файл demo.cpp, который может шифровать и дешифровать данные с использованием openssl RSA.Я могу успешно зашифровать и расшифровать данные.

Однако, если я создам 2 файла en.cpp и de.cpp и создаю их соответственно.Затем, если я зашифрую данные с помощью исполняемого файла en и расшифрую дату с помощью de.

Тогда RSA_private_decrypt вернет -1.

Вот мой код шифрования и дешифрования.

 RSA_public_encrypt(strData.length(), (const unsigned char*)strData.c_str(), (unsigned char*)pEncode, pRSAPublicKey, RSA_PKCS1_PADDING);

и

RSA_private_decrypt(strData.length(), (const unsigned char*)strData.c_str(), (unsigned char*)pDecode, pRSAPriKey, RSA_PKCS1_PADDING)

1 Ответ

0 голосов
/ 10 октября 2018

Я до сих пор не знаю, почему разделенные exe-файлы не могут правильно шифровать и дешифровать.

Однако я нашел выход:

После шифрования данных необходимо кодироватьСначала зашифрованные данные с помощью base64.Затем вы можете сохранить данные или передать их.

Для расшифровки вы должны сначала декодировать данные, используя unbase64.Затем вы можете использовать RSA_private_decrypt для правильного дешифрования.

Вот ссылка, которая реализовала это решение.

https://gist.github.com/superwills/5415344

...