SQLCipher
SQLCipher 是基于 SQLite 的安全扩展,加解密行为对应用层透明,可使用标准 SQLite API 执行数据库操作,移植简单,以页为单位进行加解密操作,效率高,开销比 SQLite 多 5% 左右。
安全特性
- 加密算法使用 AES-256 CBC模式;
- 使用口令初始化数据库,实际加密密钥根据口令派生产生,相同口令派生出的密钥不同;
- 以页为单位加解密,默认页大小 4096 Bytes,可调整优化;
- 对每一页写的时候,文末会附带消息验证码,用于读取时校验;
- 加密算法由 OpenSSL libcrypto 等开源库支持;
业务流程
以 Android 为例
效果对比
- SQLite
- SQLCipher