Encrypt or decrypt formated sqlite db.
This project is a tool for sqlite database encryption or decryption like sqlcipher without install sqlcipher.
When encrypt or decrypt database, an algorithm called AES-256-CBC is used. Each page shares the same key derived from password, but owns a random initialization vector stored at the end of the page.
python decrypt.py encrypted.db password output.db
python encrypt.py plain.db password output.db
Needs reserved space at the end of each page of the database file.
Otherwise, use sqlcipher to encrypt.
- Open plain db
./sqlcipher plain.db
- Encrypt to enc.db
ATTACH DATABASE 'enc.db' as encrypted key 'testkey';
SELECT sqlcipher_export('encrypted');
DETACH DATABASE encrypted;
GNU Lesser General Public License Version 3