Я считаю, что документация неверна, и что вам на самом деле не нужно указывать алгоритм шифрования, который будет использоваться при использовании алгоритма не по умолчанию, поскольку алгоритм, который следует использовать, указан в $ DERBY_HOME / database / service. свойства
В моем случае, когда я создал базу данных с вашими параметрами, мои service.properties имели следующее содержимое (среди прочих не относящихся к делу записей):
log_encrypt_algorithm_version=1
encryptionAlgorithm=DESede/CBC/NoPadding
dataEncryption=true
derby.encryptionBlockSize=8
encryptionKeyLength=168-24
encryptedBootPassword=472b7cc5600605333392dd10a46067d2e2935fd4c350d533-43435
data_encrypt_algorithm_version=1
Вы можете убедиться, что это используется, изменив используемый алгоритм. Если вы измените указанный алгоритм в этом файле на DES, вы не сможете перезапустить базу данных.
Например:
$ ../bin/ij
ij version 10.4
ij> connect 'jdbc:derby:testdb;create=true;dataEncryption=true;encryptionAlgorithm=Blowfish/ECB/NoPadding;bootPassword=$ecureC@deCanBr@kE0074242';
ij> quit;
$ sed -i .o 's/Blowfish/DES/' testdb/service.properties
$ ../bin/ij
ij version 10.4
ij> connect 'jdbc:derby:testdb;bootPassword=$ecureC@deCanBr@kE0074242';
ERROR XJ040: Failed to start database 'testdb', see the next exception for details.
ERROR XBM06: Startup failed. An encrypted database cannot be accessed without the correct boot password.
ij> quit;
$ sed -i .o 's/DES/Blowfish/' testdb/service.properties
$ ../bin/ij
ij version 10.4
ij> connect 'jdbc:derby:testdb;bootPassword=$ecureC@deCanBr@kE0074242';
ij> quit;
$