» sqlite の記事

~ encrypt and Decrypt the sqlite ~

connie 2015.07.15 | android | | No Comments

encrypt the DB

sqlcipher plaintext.db
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'testkey';
sqlite> SELECT sqlcipher_export('encrypted');
sqlite> DETACH DATABASE encrypted;


hexdump -C plaintext.db
hexdump -C encrypted.db

decrypt the DB

$ ./sqlcipher encrypted.db
sqlite> PRAGMA key = 'testkey';
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY '';  — empty key will disable encryption
sqlite> SELECT sqlcipher_export('plaintext');
sqlite> DETACH DATABASE plaintext;

~ Install sqlcipher in osx ~

connie 2015.07.13 | Uncategorized | | No Comments
# clone the repo
git clone https://github.com/sqlcipher/sqlcipher.git
pushd sqlcipher

# check if there are any interesting options
./configure --help

# CFLAGS will turn on encryption, default temp_store to memory,
# (file usage optional), enable full-text search, link to libcrypto

# just to be sure everything is in the initial state
make clean

# use as many CPUs as exist
# (you could also use 'sysctl -n hw.physicalcpu', which would not include 'logical' cores)
time make -j $(sysctl -n hw.ncpu)


sudo make install

which sqlcipher
| HOME |