SQLiteCrypt adds transparent AES encryption support for popular SQLite. This small C library implements a self-contained, embeddable, zero-configuration encrypted SQL database engine
Embeddable: SQLiteCrypt links into your application. No need of separate database server process. A complete database is stored in a single disk file. In short, this is file-based database engine with AES encryption support.
Zero Configuration: no setup or administration needed. No Key Management. Just open database with pass-phrase and use it as original SQLite database. SQLiteCrypt derives encryption key from user-supplied pass-phrase that can be up to 128 characters.
Easy to use: SQLiteCrypt adds and changes only one method in SQLite API.
Transparent, Storage-level Encryption: SQLiteCrypt encrypts your data transparently at the storage level - there is no need to invoke proprietary, nonportable SQL cryptographic functions to filter your data.
Security: SQLiteCrypt uses advanced AES encryption algorithm to ensure that your data is safe. AES adopted as an encryption standard by the U.S. government. As of 2006, AES is one of the most popular algorithms used in symmetric key cryptography.
Performance: AES offer very good performance compared to other encryption alternatives, e.g. DES. SQLiteCrypt encrypt/decrypts data as block. It means that only required piece of data being encrypted or decrypted, not process whole database every time user executes SQL commands.
Changing encryption key on-the-fly: SQLiteCrypt provide sqlite3_changepassword API function, that allow you to change pass phrase during SQLite session.
Cross-Platform: SQLiteCrypt is available for Windows, Pocket PC, SmartPhone, Windows Mobile, Mac OS X and Linux. Databases are fully cross-platform.