CipherService using the
Blowfish cipher algorithm for all encryption, decryption, and key operations.
The Blowfish algorithm can support key sizes between
32 and
448 bits*, inclusive. However,
modern cryptanalysis techniques render keys of 80 bits or less mostly worthless - use
128 or more whenever
possible.
Note that this class retains the parent class's default
OperationMode#CBC mode of operation
instead of the typical JDK default of
OperationMode#ECB.
ECB should not be used in
security-sensitive environments because
ECB does not allow for initialization vectors, which are
considered necessary for strong encryption. See the
DefaultBlockCipherService's JavaDoc and the
JcaCipherService JavaDoc for more on why the JDK default should not be used and is not
used in this implementation.
* Generating and using Blowfish key sizes greater than 128 require installation of the
Java Cryptography Extension (JCE) Unlimited Strength
Jurisdiction Policy files.