Рубрики
Без рубрики

Как зашифровать строку в Java, используя RSA и расшифрую ее в Python

Недавно на работе мне было поручено написать программу Java, которая зашифровала бы чувствительную строку, используя алгоритм шифрования RSA. Затем зашифрованная строка будет передана клиенту на публичный интернет. Затем клиент будет использовать закрытый ключ для расшифровки сообщения. Но клиент написан в Python. Теги с шифрованием, Java, Python, RSA.

Недавно на работе мне было поручено написать программу Java, которая зашифровала бы чувствительную строку, используя алгоритм шифрования RSA. Затем зашифрованная строка будет передана клиенту на публичный интернет. Затем клиент будет использовать закрытый ключ для расшифровки сообщения. Но клиент написан в Python. Поэтому я должен убедиться, что шифрование и дешифровка работают как ожидалось. И как всегда, я писал POCs для обоих. И вот, я собираюсь документировать это.

Создание пары ключей

Прежде чем мы сможем начать шифрование, нам нужно иметь ключевую пару. Пара ключей будет иметь открытый ключ и закрытый ключ. Открытый ключ, как следует из названия, является публичным. Вы можете поделиться этим с кем-то, кто желает отправить вам зашифрованный текст. Они зашифруют оригинальный текст, используя этот открытый ключ и отправьте вам зашифрованный текст. Затем вы можете использовать закрытый ключ, который только вы должны расшифровать текст. Вы получите оригинальное сообщение на этот путь.

Итак, чтобы начать процесс, нам нужно сначала генерировать ключевую пару. Для этого мы будем использовать очень популярный инструмент, openssh. Вы понадобится терминал для этого, хотя. Так что откройте свой терминал и запустите следующую команду:

openssl genrsa -out pownentkey.pem 2048

Приведенная выше команда создаст файл частного ключа – PownentKey.pem. Вы можете переименовать это на все, что вы хотите, или вы можете изменить значение опции -OUT в команде, чтобы создать файл с любым вами нужным именем.

После того, как у вас есть этот частный ключ, нам нужно создать открытый ключ, который идет с этим. Для этого мы запустим другую команду (приведенную ниже), которая будет генерировать открытый ключ. Опять же, вы можете изменить значение опции, чтобы назвать файл, все, что вы хотите.

openssl rsa -in pownentkey.pem -outform pem -pubout -из public.pem.pem.

Вот и все. Теперь у вас есть ключевая пара, которую мы можем использовать в нашем коде.

Пожалуйста, продолжайте прочитать этот пост на Мой личный блог Отказ

Оригинал: “https://dev.to/contactsunny/how-to-encrypt-a-string-in-java-using-rsa-and-decrypt-it-in-python-4bmd”