CentOS下php通过SQLCipher编译sqlite3支持数据库加密

最近由于项目需要,要对服务器端生成的sqlite进行加密.服务器后台用的是php写的,操作系统为CentOS.开源的sqlite3预留了数据库加密接口,但是没有实现.于是在网上找到了SQLCipher,它对sqlite3未实现的加密功能进行了实现,并且可以通过重新编译PHP的sqlite3扩展,从而支持sqlite数据库加密.

具体操作,可参考官网的步骤进行,地址:https://www.zetetic.net/sqlcipher/sqlcipher-for-php/

官网的操作,系统是用的Ubuntu,在这里可以将相应命令转换成CentOS下用的即可.参照官网上的操作步骤,便可以编译成功,

编译成功后,会生成sqlite3.so,直接替换掉之前服务器php扩展中得sqlite3.so即可(替换前最好做个备份).替换完成后,重启apache服务器,

下来进行测试,测试代码:

<?php 

//创建一个test.sqlite的文件,密码为12345678,参数6表示如果有就打开,没有就创建.具体的信息可参照源文件中sqlite3.c进行相关查看

$db=new Sqlite3("test.sqlite",6,"12345678");

$db->exec("create table mytest (name varchar(200) )");

$db->exec("insert into mytest (name) values ('aaaa')");

$result = $db->query('SELECT * FROM mytest');

print_r($result);

?>

如果可以打印出来结果,说明sqlite3已经重新编译成功.在此基本上算是成功了,但是仍需要检验一下,生成的数据库是否已经加密.可以将生成的test.sqlite用之前自己的一些工具打开试试,一般都会提示错误.这时候说明已经成功给sqlite加密.

顺便说一下,官网上也有对android和IOS的支持操作步骤,可以在官网上查看的到.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值