Here’s the thing:
In my Qt4.6-Project, I use a SQLite-Database. This database shouldn’t be unencrypted on my harddrive. So I want, that on every start of my program, the user gets asked to enter a password to decrypt the database. Of course the database never should appear “in clear” (not encrypted) on my harddrive.
So is there any possibility to decrypt a SQLite-database “on the fly” and read and write data? What algorithm is here the best (maybe AES)?
When it’s not possible (or very slow), maybe it’s better to encrypt every string in the database and decrypt the string when the password was right (so that a user could open the database, but has no clue what all the entrys could mean)?
Here’s the thing: In my Qt4.6-Project, I use a SQLite-Database. This database shouldn’t be
Share
There is no built in support, that being said you do have options.
1) You can encrypt/decrypt all of your strings yourselves, but this is a lot of work, is not transparent, and won’t allow you to do things like searching in the database.
2) SQLiteCrypt and SQLCipher do what you’re looking for.
You can use them almost entirely transparent and typically they are said to have only about 5% overhead compared without encryption.