I'm using HSQL in my application (server mode) and I want to encrypt the database. The HSQL documentation for this is here which IMO isn't clear enough to understand. I searched the HSQL Forum and mailing archives but found nothing. So has anyone worked with encrypted database with HSQL? I would appreciate any help on this.
Replace "AES" with whatever cipher you want to use, like DESede. The crypto uses JCE, so anything that JCE supports, HSQLDB does too. You can even use a different crypto provider; the HSQLDB docs explain how.
Ha ha, it worked. Thanks so much Ulf . I tried the CRYPT_KEY command before posting the question here and it didn't work. I was using HSQL 1.8 and I updated it to HSQL 2 and it worked. I start the db in Server mode in my code, so if anyone else does it, you'll have to set the crypt key when setting the database properties in code
If you want to connect to the database using DatabaseManager of HSQL, then the command would be something like this
java -cp hsqldb.jar org.hsqldb.util.DatabaseManager --url "jdbc:hsqldb:hsql://localhost/database_name;crypt_key=KEY_GOES_HERE;crypt_type=AES" --user SA
from the DatabaseManager utility you can create the tables in the database (if you already don't have an encrypted database file)