My first steps i made for encyption nowadays is that i read and test some free
encryptions around the net such as sql cipher and some others but i have some
doubts if this is correct cause inside the sqlite3.cpp in the section that i
define SQLITE_HAS_CODEC it says that is not in the public domain.
In the SQLite source code it reads
** The code to implement this API is not available in the public release
of SQLite. **
That is, the SQLite Encryption Extension (SEE), offered by D.R. Hipp,
the main SQLite developer, is not publicly available, but a commercial
license is available at a price of 2000 USD (see
So what i want to ask is this :
If i want to make my database file encrypted do i have to purchase a license
and be able to use encryption for sqlite3 or
i can do it with any free program without having to pay for a license ?
Each encryption extension implementation has its own license terms:
System.Data.SQLite (http://system.data.sqlite.org), available from the
SQLite website, implements a Windows based encryption extension and is
free of cost. Most of the code is in the public domain (as SQLite
itself), but certain parts are under the Microsoft Public License (MS-PL).
SQLCipher offers Community Editions
(https://www.zetetic.net/sqlcipher/open-source/) (free of cost,
BSD-style license) and Commercial Editions
(https://www.zetetic.net/sqlcipher/buy/) (not free). It depends on your
actual requirements whether the Community Edition is good enough for
your purposes or not.
wxSQLite3 (https://github.com/utelle/wxsqlite3) includes an encryption
extension under the permissive wxWindows license (you can distribute
binaries of your application free of cost without having to disclose the
source code of your own application).
There are other free encryption extensions. You will have to check their
license terms, whether they allow commercial use or not.
sqlite-users mailing list