Password-based encryption, with both encryption of the data and a signature to prove that the data can't have been modified by anyone without having the password, using longer keys, is a good choice.
PBE
= password-based encryption. Isn't this what you need?
WITHSHA256
= SHA-256 is a modern hash algorithm, and is used to prove that the data can't have been modified by anyone with having the password at hand. 256-bit hashes are the modern standard, with 512-bit hashes for those of us who want just a little bit more reassurance. The SHA-2 family of hash functions is the most recent NIST standard digests.
AND256BITAES
= AES-256 is a modern encryption algorithm. The 256-bit key size is for those of us who want just a little bit more reassurance, even though a 128-bit key size can be sufficient for many uses. The AES family of functions are the most recent NIST standard block ciphers.
CBC
= The CBC mode for encryption is the default choice for turning a block cipher into a stream cipher. Stream ciphers are needed when one has a stream of data of arbitrarily length to be enciphered. AES in CBC mode is a more modern choice than RC4.
BC
= The choice of crypto provider library. Choose a reliable, performance crypto library. BouncyCastle is implemented in Java, so the JIT may be able to optimize it. OpenSSL is implemented in C and the crypto provider might have bindings to the C functions, but the JIT is unable to optimize the C functions.
If there is a need to encrypt, then there is an equivalent need to encrypt with modern algorithms and techniques. Use them, unless there is a specific, demonstrable, and proven reason against.