RSA-шифрование (или любой другой алгоритм шифрования) должно работать независимо от среды.Однако, возможно, что некоторые системы делают разные предположения о заполнении по умолчанию и режиме работы.Убедитесь, что при выполнении шифрования и дешифрования вы полностью указываете не только алгоритм, но и режим работы (CBC и т. Д.) И заполнение.Если это не сработает, я предлагаю опубликовать ваш код как с устройства, так и с сервера, чтобы мы могли более внимательно изучить его.
Изменить Чтобы ответить на ваш вопрос, в Java, когда выполучить шифр из пакета crypto, вы обычно делаете это с помощью следующего кода:
Cipher cipher;
cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
Строка, предоставленная getInstance
, инструктирует среду выполнения получить экземпляр шифра, который будет использовать алгоритм AES, шифррежим работы цепочки блоков и отступы PKCS5.Существует ряд поддерживаемых алгоритмов и отступов.Я бы проверил этот документ из Oracle для получения дополнительной информации о шифровании в Java.
Точнее, строка, которую вы используете для запроса шифра, имеет формат
<algorithm>/<mode of operation>/<padding>
Что еще хуже, несмотря на то, что Java предоставляет ряд алгоритмов, режимов работы и отступов, не все из них будут работать вместе.Вам нужно будет прочитать документацию, чтобы найти строку конфигурации, которая будет работать.