Как расшифровать RSA с открытым и закрытым ключом - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть этот открытый и закрытый ключ, как мне это расшифровать?

Большое спасибо.

----- НАЧАТЬ ПУБЛИЧНЫЙ КЛЮЧ ----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl0NyHA + z9w6LiYURla4UCcedc 2SpsS4SnVGdSSEHTMsc9NbMX2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjv Dh3zaC3 / Q4wu6Osroo9Af9PoHr1riEve8ioz058mPP28TGOBb / oYa5TaeYw4GGMc mqvZMrRlGhPZIOsePQIDAQAB ----- КОНЕЦ ОБЩЕСТВЕННОГО КЛЮЧА -----

----- BEGIN RSA ЧАСТНЫЙ КЛЮЧ ----- MIICXAIBAAKBgQCl0NyHA + z9w6LiYURla4UCcedc2SpsS4SnVGdSSEHTMsc9NbMX 2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjvDh3zaC3 / Q4wu6Osroo9Af9Po Hr1riEve8ioz058mPP28TGOBb / oYa5TaeYw4GGMcmqvZMrRlGhPZIOsePQIDAQAB AoGAF74YVZzSSmPA5vlWec8zdG4q2ridwnPtwqfrQ3TlOACFVtZhloC3B26KO447 GuDgqpT4b3XnsWMeOoe9jAUrPohy0ISiYYvp0h + KHjFUFt9XH9d3hlm0VqRCExNA rG3sXXuoSmyyGIin / 7l4pFJuFCyDLESQQ4zJGCicMiCpWAECQQDcM0eDTL0t / веб 5XfOw5LUJLgNlAQyWmncojVB4QbT0XixZD / UBKlPyt2lwbSncRmSW7TJzb + epdHf FKCEfub9AkEAwMYbAh4VUal0q + aBGheo3N / 4cZy0GC4unM15F9lxkOn06RGSmFQ5 0ulhlH3f5h5uVIFh7jT1Nk27H2EjTxHYQQJAMoDUWwnjrcP7Q8cqZlK2v084o2ya Vc4kz4SogFaTEUvOyai7du4mwvU9RsIZo / mtqsK7wTkeRM21R9vcQOc2JQJAQWf1 6fYDDb4NE / YVf6DfbnGffgzJHhstPY6Js4nXem + m5R1NO9n39JOyxAshWJaioJF1 hLj7Kf2dq7vtmvpXAQJBANAYjUpCT8cYA5XpbmeMHTw3XGuF1N2wBpfu5BNsN8Nh l0NZkzFHNpempMYTr / 1TnUaeAynlevfw6 / mSK40YHrQ = ----- END RSA ЧАСТНЫЙ КЛЮЧ -----

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019

(используется Python 3)

Откройте CMD (окна) из меню «Пуск» или TERMINAL (mac) со страницы утилит в панели запуска.Введите:

pip install pycrypto

, если это приводит к ошибке, попробуйте:

pip3 install pycrypto

(вам может не потребоваться это сделать). Выберите «Открыть модуль» в окне IDLE, затем введитеcrypto.Если это дает вам ошибку, то вы хороши.Затем переименуйте crypto в Crypto с заглавной буквы.

Вернитесь к python и введите это (в окне редактирования):

from Crypto.PublicKey import RSA
key = RSA.importKey('file.pem') # where file.pem is where your keys are stored, in the format you had in your question
public = key.publickey()

output = public.encrypt('data'.encode('utf-8'),32) # 'data' is a placeholder
output = key.decrypt('data'.encode('utf-8'))

Вывод будет bytes,преобразовать в шестнадцатеричное:

print(output.hex())
0 голосов
/ 26 апреля 2019

в основном любой декодер ASN.1, который распознает структуры DER, сделает ...

для бесплатной версии JavaScript см. https://lapo.it/asn1js/

...