Преимущество использования симметричного шифрования также заключается в том, что библиотеки автоматически поддерживают массовое шифрование - что они не делают для RSA.
роблема:
Мой код шифрованияработает хорошо для ниже 64 символов, но если он превышает 64 символа, я получил следующую ошибку
javax.crypto.IllegalBlockSizeException: input must be under 64 bytes
Код шифрования
cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
encryptedBytes = cipher.doFinal(message.getBytes(StandardCharsets.UTF_8));
rsaEncrypted= Base64.encodeToString(encryptedBytes, Base64.NO_WRAP);
Код генерации ключа
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
KeyPair keypair = keyGen.genKeyPair();
PublicKey pub = keypair.getPublic();
byte[] pubs = pub.getEncoded();
Мой вопрос:
Можно ли зашифровать большой текст с помощью 512 бит ключей? Любая ошибка в моем коде?
Примечание: если кто-то хочет полный код, я обновлю позже.