Sandpoint, Idaho way north of you ie 60 miles south of the Candian border. Can you connect to the database file and perform queries successfully without messing with any encryption stuff at all?.Is this external db file in a version of SQLite that is compatible with Xojo? (i.e., relatively recent, not using some funky other encryption format like SQLCipher?.Are you 100% certain that this is a valid SQLite database?.Correct?Ī few questions come to mind immediately (forgive me if these seem obvious, but I find it best to start with the obvious stuff): Your app wants to connect to this database, and convert it to an encrypted database. However, that does not really get to the root of your issue: As I understand, you have an SQLite database that is currently unencrypted. If each record is several MB worth of image blob, then yeah, it may take a few seconds to encrypt. If each record is only a few bytes, then it’ll still encrypt / decrypt very fast. So after a few hours spent trying to build SQLCipher, I dived more deeply into the internet and found wxSQLite3, did some scripting to ease the build and this is the result.Wait a minute! There’s someone else in Idaho that has heard of Xojo? If you are close to Meridian let’s get lunch sometime…Īs for your issue: The number of records (41k is not really all that many) has less of an impact than the size of the individual records. SQLCipher - partially opensource (I didn't manage to get it working on Windows though), depends on OpenSSL.SQLite Encryption Extension - from authors of SQLite, commercial, $2000.There are more ways how to add a native on-the-fly encryption layer to your SQLite3 DBs. VERSIONS file in the repo root dir keeps an overview of versions of individual components provided in the repo.Extract the wxsqlite3-*/sqlite3/secure/src dir from the archive to src dir in the project root dir.Download the source code of the latest release of wxsqlite3.If you want to update to the latest version of wxSQLite, you can do so in two ways: 1. Try to look for them here Update to the latest version of SQLiteīecause developers of the wxSQLite extension needs to incorporate changes with every new version of SQLite, there is a time lag between a new version of SQLite and wxSQLite. And here we go Build -> Build Solution, which should produce binaries in the bin dirįollowing these steps and building all binaries in their Release versions took me ~2 minutes on my laptop.Build -> Configuration Manager and choose configurations and platforms you want to build.if you have VS2013 and the script created VS2012 solution (automatic prompt or Project -> Upgrade Solution) sln) in the project root dir, open it in VS as usual and upgrade the solution when needed, eg. The script should generate a solution file (.Download snapshot of this repository, unzip and open it.Windows with MS Visual Studio 2012+ (2010 not tested but should work too).*Support for 256 bit AES encryption is still experimental How to? Compile itīuild script currently generates only solution (*.sln) files for Microsoft Visual Studio IDE, but as SQLite3 and wxSQLite3 are cross-platform, you may try to download the original wxSQLite3 source code and built it yourself for your platform. no external dependencies like OpenSSL, Microsoft Visual C++ Redistributable Packages, Microsoft.you may for example encrypt your current databases, use them as long as you wish, then decide to decrypt them back to plain text and use them from the standard SQLite3 library, also you may use this library just as a standard SQLite3 library.SQLite3 with a key based transparent encryption layer (128/256*-bit AES), which encrypts everything including metadata.
0 Comments
Leave a Reply. |