В настоящее время я пытаюсь реализовать функцию шифрования и дешифрования для базовой программы Java, используя следующие методы: < /p>
private static String encryptString(PublicKey publicKey, String message) throws Exception {
Cipher encrypt = Cipher.getInstance("RSA/ECB/PKCS1Padding");
encrypt.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encrypted = encrypt.doFinal(message.getBytes());
return Base64.getEncoder().encodeToString(encrypted);
}
private static String decryptString(PrivateKey privateKey, String message) throws Exception {
Cipher decrypt = Cipher.getInstance("RSA/ECB/PKCS1Padding");
decrypt.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decrypted = decrypt.doFinal(message.getBytes());
return Base64.getEncoder().encodeToString(decrypted);
}
< /code>
Кодирование сообщения с помощью открытого ключа, по -видимому, работает правильно. Однако при попытке расшифровать его, используя закрытый ключ, javax.crypto бросает незаконное блокировку>
Подробнее здесь: https://stackoverflow.com/questions/741 ... eexception