All Projects → sjemens → qsqlcipher-qt5

sjemens / qsqlcipher-qt5

Licence: LGPL-3.0 License
Qt5 SQL driver plugin for SQLCipher

Programming Languages

C++
36643 projects - #6 most used programming language
QMake
1090 projects

Projects that are alternatives of or similar to qsqlcipher-qt5

selekt
A Kotlin and Android wrapper over SQLCipher, providing 256-bit AES encryption of database files.
Stars: ✭ 26 (-16.13%)
Mutual labels:  sqlcipher
SqlCipher4Unity3D
💾 SqlCipher made easy for Unity3d
Stars: ✭ 119 (+283.87%)
Mutual labels:  sqlcipher
pdo sqlcipher
SQLCipher PDO (PHP Data Objects) driver
Stars: ✭ 17 (-45.16%)
Mutual labels:  sqlcipher
ParkingDemo
Taipei City Parking Lot Information Query System Demo
Stars: ✭ 18 (-41.94%)
Mutual labels:  sqlcipher
Sqlitestudio
A free, open source, multi-platform SQLite database manager.
Stars: ✭ 2,337 (+7438.71%)
Mutual labels:  sqlcipher
Wcdb
WCDB is a cross-platform database framework developed by WeChat.
Stars: ✭ 9,264 (+29783.87%)
Mutual labels:  sqlcipher
Chatsecure Ios
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
Stars: ✭ 3,044 (+9719.35%)
Mutual labels:  sqlcipher

Qt SQL driver plugin for SQLCipher ( for Qt 5 )

This branch builds against the Qt version 5.15. To build for previous versions choose from the releases the one that matches the system's Qt version. See https://github.com/sijk/qt5-sqlcipher to build up to Qt 5.5.x

The sources for this plugin are based on the sqlite plugin from qt/qtbase

Dependencies

This plugin is using the SQLCipher for the encryption of database files. SQLCipher is included in the 3rdparty folder, but there is also the option to use the system's library. The required libraries are found by pkg-config. If pkg-config is not available you should edit the qsqlcipher.pro and set the INCLUDEPATH and LIBS variables.

By default, the cryptography backend is provided by libtomcrypt, also included in the 3rdparty folder. There will also be an option to choose some other backend.

Build instructions (without the tests)

git clone https://github.com/sjemens/qsqlcipher-qt5.git
cd qsqlcipher-qt5
mkdir -p build && cd build
qmake ../qsqlcipher.pro
make
make install  # most propably with sudo

Build with system's sqlcipher

git clone https://github.com/sjemens/qsqlcipher-qt5.git
cd qsqlcipher-qt5
mkdir -p build && cd build
qmake ../qsqlcipher.pro CONFIG+=system-sqlcipher
# Or if the sqlcipher library was not built with the ENABLE_COLUMN_METADATA macro
# defined, disable it also for qsqlcipher. Replace the above qmake command with
# qmake ../qsqlcipher.pro  CONFIG+=system-sqlcipher DEFINES+=DISABLE_COLUMN_METADATA 
make
make install  # most propably with sudo

Note: To check if the sqlcipher library was compiled with ENABLE_COLUMN_METADATA use PRAGMA compile_options;

Building and running the tests

git clone https://github.com/sjemens/qsqlcipher-qt5.git
cd qsqlcipher-qt5
mkdir -p build && cd build
qmake CONFIG+="withTests" ../qsqlcipher.pro
make
# in linux
./tests/qsqlcipher_test
# in windows (MSYS2-mingw) both the debug and release
# versions should have been built by default
# so we will check both of them
./tests/debug/qsqlcihper_test
./tests/release/qsqlcihper_test
# Unless you also want to install the tests change to 
# the lib folder
cd qsqlcipher
sudo make install

Tip: A quick way to find if the tested plugin is the newly built and not the one in 'QT_INSTALL_PLUGINS' is to define the QT_DEBUG_PLUGINS and check the loaded library path.

QT_DEBUG_PLUGINS=1 ./tests/qsqlcipher_test

Licenses

For this plugin see LICENSE (LGPLV3)

libtomcrypt (Public domain)

SQLCipher (BSD)

Qt5 libraries (LGPLV3 GPLV2/GPLV3)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].