code: public static byte[] decryptWithPrivateKey(String base64PrivateKeyData, byte[] encryptedData,
              String cipherTransformation)
              throws NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException,
              NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, IOException {
          RSAPrivateKey privateKey = buildPrivateKey(base64PrivateKeyData);
          return decrypt(privateKey, encryptedData, cipherTransformation);
      }
docs: Decrypt encrypted data with RSA private key.
  
  <p>
  Note: if long data was encrypted using
  {@link #encryptWithPublicKey(String, byte[], String, int)}, it will be correctly decrypted.
  </p>
  
  @param base64PrivateKeyData
  RSA private key in base64 (base64 of {@link RSAPrivateKey#getEncoded()})
  @param encryptedData
  @param cipherTransformation
  cipher-transformation to use. If empty, {@link #DEFAULT_CIPHER_TRANSFORMATION}
  will be used
  @return
  @throws NoSuchAlgorithmException
  @throws InvalidKeySpecException
  @throws InvalidKeyException
  @throws NoSuchPaddingException
  @throws IllegalBlockSizeException
  @throws BadPaddingException
  @throws IOException