While I know that this has been discussed before, I would like to see if there is any new information.
I am using a SQLite DB and would like to be able to encrypt it and read/write both in Xojo and Navicat. I know that Bob (Keeney/Guru/I am not worthy!) has had luck with Navicat opening encrypted Xojo SQLite DBs, but Im afraid I havent.
If I initially encrypt the DB in Xojo, it wont open in Navicat even if I put in the encryption string. The opposite is also true. If I create the DB in Navicat and encrypt it, the same encryption string will not work in Xojo.
The documentation for Xojo says that SQLite encryption is using AES-128. Is it possible that Navicat is using something else?
You are correct. I’ve never had any issues with NaviCat opening encrypted files made in Xojo. Another utility you might try is SQLite Manager http://www.sqlabs.com/sqlitemanager.php I don’t like it’s interface very much, but it also handles encrypted Sqlite databases.
Oh, and you ARE worthy. Really. I’m just a poor shmuck like everyone else here. I’ve just been doing it a long time.
It’s not so much WHAT encryption algorithm is used but HOW this is incorporated into the sqlite engine
There are several encryption modules for sqlite - and they are not cross compatible as far as I know
We use the one supplied by Dr Hipp
And if another vendor uses a different one they will not be able to open the database with the encryption
And the reverse is true
Thanks, Guys. Dunno. It seems like I used to be able to go back and forth, but I’m not holding my mouth right or something. Norman, I can’t find out what encryption Navicat uses. It seemed like it worked before. I’ve got Navicat Premium up to date. I’ll keep fishing.
Thanks, Norman. I have submitted a support ticket. I did notice that, per documentation, Xojo uses SQLite v: 3.8.5. When checking the version on Navicat, I get v: 3.8.2. Might that be the issue?
I checked a built Xojo project and in the Libs folder there was a file called SQLiteDatabase.dll. What do you think, Norman. Would it be possible to put that into the C:\…Navicat directory, rename their old sqlite3.dll, and then rename the SQLiteDatabase.dll from Xojo to sqlite3.dll?
Am I’m the only one who thinks this is insane? With the same encryption method and given the same password it should be accessible. If it isn’t then that seemsi like a bug in the encryption to me.
This has more to do with HOW the encryption is incorporated to the engine than whether its using AES-128 / 256 etc.
They each do it slightly differently which is what makes them incompatible with each other.
[quote=156385:@Norman Palardy]This has more to do with HOW the encryption is incorporated to the engine than whether its using AES-128 / 256 etc.
They each do it slightly differently which is what makes them incompatible with each other.[/quote]