SqlCipher for android开发实战

本文介绍了SqlCipher,一个对SQLite数据库进行加密的开源组件,其与SQLite原版加密功能的区别,不同版本间的兼容性,使用时的依赖集成要求,以及开发过程中的转换方法和与Uniapp的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SqlCipher 是一个对SqlLite数据库加密的组件。核心程序是C++编写的。加密后数据库文件的内容也是加密的,在读写时需要密码进行加解密。

一、组件特点:

1、SqlLite的官方版本也有加密功能,但加密功能不开源。并且官方加密功能与SqlCipher的加密不同。SqlCipher是在官方不带加密的开源代码库上扩展的加密功能,所以SqlCipher的版本与SqlLite的版本有对应关系。

2、SqlCipher的加密也是有多个版本的,各版本之间是不兼容的。所以使用时如果升级SqlCipher版本需要注意已生成的数据库文件版本要对应才能正常读写。

二、组件使用限制和依赖:

SqlCipher只是核心组件是开源的,但开源代码库不包含libcrypto.a。需要自行集成此组件。在代码库的readme有写集成方法,但需要用linux环境生成。

SqlCipher支持安卓,IOS这些是插件是在核心组件上扩展的项目,这些项目的开源规则并不相同。SqlCipher支持安卓的旧版本名称是android-database-sqlcipher,此组件官方已经不再支持。新项目名称是SqlCipher for Android,所以网上其它文章的代码示例有新有旧,大家要注意不能混用。

SqlCipher for android 是不开源的,但可以免费使用编译后的插件。对应需要android sdk 29及以上的版本,此版本兼容harmony os的2.0和3.0 版本(本人真机验证)。验证使用的版本依赖如下

implementation 'net.zetetic:sqlcipher-android:4.5.5@aar'
implementation 'androidx.sqlite:sqlite:2.2.0'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值