You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ionic 3中使用cordova-sqlcipher-adapter插件?

核心疑问解答

cordova-sqlcipher-adapter是完全独立的插件,不需要搭配你之前使用的Ionic 3 SQLite底层插件共同使用,它本身就封装了完整的SQLite操作能力,还额外集成了SQLCipher加密模块,支持对数据库文件整库加密。你需要先卸载原来的cordova-sqlite-storage插件,避免两者的数据库操作接口冲突。

实操接入步骤

  • 第一步:卸载原有SQLite相关依赖
    执行以下命令:
    ionic cordova plugin remove cordova-sqlite-storage
    npm uninstall @ionic-native/sqlite
  • 第二步:安装加密插件和对应适配包
    执行以下命令,注意Ionic 3对应的Ionic Native版本为4.x系列,不要安装过高版本:
    ionic cordova plugin add cordova-sqlcipher-adapter
    npm install @ionic-native/sqlite@4
  • 第三步:业务代码适配
    你之前写的所有SQLite增删改查逻辑几乎不需要改动,只需要在打开数据库的配置中新增加密密码参数即可,示例代码:
    import { SQLite, SQLiteObject } from '@ionic-native/sqlite';
    
    constructor(private sqlite: SQLite) {}
    
    // 初始化加密数据库
    initEncryptDB() {
      this.sqlite.create({
        name: '自定义数据库名.db',
        location: 'default',
        // 新增该参数配置加密密码,密码不要硬编码在客户端代码中,建议结合业务场景做安全存储
        key: '你的自定义加密密码'
      }).then((db: SQLiteObject) => {
        // 后续建表、数据增删改查的写法和你之前的使用逻辑完全一致
        db.executeSql('CREATE TABLE IF NOT EXISTS 表名 (id INTEGER PRIMARY KEY, 字段名 TEXT)', [])
          .then(() => console.log('建表成功'))
          .catch(e => console.log('建表失败', e));
      }).catch(e => console.log('数据库打开失败', e));
    }
    

注意事项

  • 若你之前已经用非加密的SQLite插件生成了数据库文件,接入加密插件后无法直接读取原有未加密数据库,需要先做数据迁移:读取旧库所有数据,初始化加密新库后写入新库,再删除旧库文件即可。
  • 加密密码一旦设置不可直接修改,如有改密需求,需要先用旧密码打开数据库,创建新的加密数据库并设置新密码,迁移所有数据后删除旧库即可。

内容的提问来源于stack exchange,提问作者K. Ajay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:27:05