Преимущество использования симметричного шифрования также заключается в том, что библиотеки автоматически поддерживают массовое шифрование - что они не делают для 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 бит ключей? Любая ошибка в моем коде?

Примечание: если кто-то хочет полный код, я обновлю позже.

Ответы на вопрос(2)

Ваш ответ на вопрос