SQLCipher在CentOS 7上的编译安装

1、下载sqlcipher

https://github.com/sqlcipher/sqlcipher/tree/v4.0.1

2、编译安装

安装依赖包

# yum install -y tcl.i686 tcl.x86_64 tcl-devel.i686 tcl-devel.x86_64

# unzip sqlcipher-4.0.1.zip

# cd sqlcipher-4.0.1

# ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto" --prefix=/usr/local/sqlcipher

# make && make install

遇到编译错误参考:

 openssl/crypto.h:没有那个文件或目录-CSDN博客

解决:fatal error: openssl/ssl.h: No such file or directory-CSDN博客

3、配置环境变量

# vim /etc/profile

追加如下内容

export PATH=$PATH:/usr/local/sqlcipher/bin

# source /etc/profile

4、验证sqlcipher

# sqlcipher

SQLCipher version 3.26.0 2018-12-01 12:34:55

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

5、创建加密数据库

# sqlcipher wadmin.db

SQLCipher version 3.26.0 2018-12-01 12:34:55

Enter ".help" for usage hints.

sqlite> PRAGMA key = 'zhasir';

sqlite> create table mytable(id,name,age);

sqlite> insert into mytable(id,name,age) values(1,"张三","21");

sqlite> .exit

6、更改数据库密码

# sqlcipher wadmin.db

SQLCipher version 3.26.0 2018-12-01 12:34:55

Enter ".help" for usage hints.

sqlite> PRAGMA key = 'zhasir';

sqlite> select * from mytable;

1|张三|21

sqlite> PRAGMA rekey = 'zhasir0628';

sqlite> select * from mytable;

1|张三|21

sqlite>

原先的密码

PRAGMA key = 'zhasir';

新密码

PRAGMA rekey = 'zhasir0628';

7、解密已经加密的数据库

# sqlcipher wadmin.db

SQLCipher version 3.26.0 2018-12-01 12:34:55

Enter ".help" for usage hints.

sqlite> PRAGMA key = 'zhasir0628';

sqlite> select * from mytable;

1|张三|21

sqlite> PRAGMA cipher_migrate;

1

sqlite> ATTACH DATABASE 'decrypted_wadmin.db' AS decrypted_wadmin KEY '';

sqlite> SELECT sqlcipher_export('decrypted_wadmin');

sqlite> DETACH DATABASE decrypted_wadmin;

解密后新的数据库文件为decrypted_wadmin.db

8、加密已经存在的明文数据库

# sqlcipher zhasir.db

SQLCipher version 3.26.0 2018-12-01 12:34:55

Enter ".help" for usage hints.

sqlite> ATTACH DATABASE 'decrypted_zhasir.db' AS decrypted_zhasir KEY 'zhasir0628';

sqlite> SELECT sqlcipher_export('decrypted_zhasir');

sqlite> DETACH DATABASE decrypted_zhasir;

加密后新的数据库文件为decrypted_zhasir.db

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值