У меня есть ключ publi c для кодирования с использованием RSA
Не могу использовать строку как есть, поэтому я конвертирую ее с использованием BASE64 в секретный ключ, но я не могу сделать это, показывая ошибку java .lang .IllegalArgumentException: недопустимый символ base64 27
String public_key = "-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSdfdgdfdDCBiQKBgQDMuBS5+6DV1XC0WETytutuiuqTHYK0F44W9Dlt8W2sR1F9u8WSNN9Pvj2grc/yM3KJ4lOAtjK9EhTywcBGizpvypWp/UAByrwmXiPNbAaQVhFrEKoJdwRuojZqzgvZK34AWKELNOM+vfkhgfhfhfhf61FEuD3InwIDAQAB-----END PUBLIC KEY-----";
byte[] decodedKey = Base64.getDecoder().decode(public_key);
// rebuild key using SecretKeySpec
SecretKey myDesKey = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES");
Cipher desCipher;
// Create the cipher
desCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
// Initialize the cipher for encryption
desCipher.init(Cipher.ENCRYPT_MODE, myDesKey);
//sensitive information
byte[] text = "No body can see me".getBytes();
// Encrypt the text
byte[] textEncrypted = desCipher.doFinal(text);
logger.info("Text Encryted : " + textEncrypted);
// Initialize the same cipher for decryption
desCipher.init(Cipher.DECRYPT_MODE, myDesKey);
// Decrypt the text
byte[] textDecrypted = desCipher.doFinal(textEncrypted);
Может ли кто-нибудь помочь в кодировании файла .txt с помощью public_key в алгоритме RSA