返回顶部
首页 > 资讯 > 数据库 >关于SQLite,SQLCipher和FMDB
  • 790
分享到

关于SQLite,SQLCipher和FMDB

2024-04-02 19:04:59 790人浏览 泡泡鱼
摘要

sqlite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。然而免费版的SQLite

sqlite是一个轻量的、跨平台的、开源数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOSAndroid)。然而免费版的SQLite有一个致命缺点:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。

  如果我们想要使得自己的数据库加密,解决方案就是使用另一款开源的加密数据库SQLCipher,SQLCipher使用256-bit AES加密,由于其基于免费版的SQLite,主要的加密接口和SQLite是相同的,当然也增加了一些自己的接口,如在新建和打开数据库时,给数据库设置秘钥之类的操作。

  FMDB是一个开源的类库,它对sqlite数据库操作进行了很不错的封装,而且也增加了对sqlcipher的支持,也就是说,我们不直接用sqlcihper也能完成加解密操作,而且FMDB在操作sqlite方面方便得多。现在的APP开发如果涉及到数据库操作,FMDB基本上是首选。

  下面内容主要是针对一些在初期忽略了数据库私密性,而到了中期需要让数据库进行升级加密的App的简单方案介绍和代码实现。如果读者没有使用FMDB,直接使用了sqlite,那本文也有一定参考性,只是关于SQLCipher的配置,并没有介绍,因为虽然FDMB的加密也是使用SQLCipher,但是不需要进行配置的。

  具有加密功能的FMDB版本

  加密的FMDB其实是一个分支,也就是说,如果你需要替换FMDB。GitHub上关于该分支的安装只提供了cocospod的安装方式。

  github上FMDB的地址:https://github.com/ccgus/fmdb

  关于SQLite,SQLCipher和FMDB

  举个例子,如果你以前是如下写的

1
您可能感兴趣的文档:

--结束END--

本文标题: 关于SQLite,SQLCipher和FMDB

本文链接: https://lsjlt.com/news/50817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于SQLite,SQLCipher和FMDB
    SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。然而免费版的SQLite...
    99+
    2024-04-02
  • iOS中Sqlite和FMDB使用详解
    目录正文效果图什么是数据库iOS中的数据存储方式什么是SQLiteSQL语句的种类数据定义语句(DDL:Data Definition Language)数据操作语句(DML:Dat...
    99+
    2022-11-13
    iOS Sqlite FMDB Sqlite FMDB 使用
  • 用SQLite和FMDB而不用Core Data的原因分析
    这篇文章主要讲解了“用SQLite和FMDB而不用Core Data的原因分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“用SQLite和FMDB而不用C...
    99+
    2024-04-02
  • 关于批量插入:Python sqlite
       个人遇到了一个需要互操作 Access 与 sqlite 的项目,其中涉及了诸多 join 和 relation。最重要的是数据的互相流动,这个项目使用了 pypyodbc 与 sqlobject,不免涉及了批量操作的问题。我将详细...
    99+
    2023-01-31
    批量 Python sqlite
  • 关于window.pageYOffset和document.documentElement.scrollTop
    举个例子: Css:假定进行如下简单设置; html{height:1000px;} JS: 复制代码 代码如下: function(){ window.scrollBy(0,100...
    99+
    2022-11-21
    pageYOffset scrollTop
  • Android基于Sqlite实现注册和登录功能
    Android中基于Sqlite实现注册和登录功能,供大家参考,具体内容如下 前言 写这篇博客主要是为了巩固一下学的Sqlite知识以及梳理一下这个项目的逻辑 实现逻辑 项目的图片...
    99+
    2024-04-02
  • 关于Beep、MessageBeep 和 Windows.Beep
    Beep、MessageBeep和Windows.Beep是用于产生计算机系统蜂鸣声音的函数。虽然这些函数的目的相同,但它们在使用方...
    99+
    2023-09-02
    Windows
  • 关于python和sudo python
    之前在搞ssd的时候没出问题,后来重装啦一下系统,把它拷回来,发现出了点问题,在训练或者测试的时候,需要输入:python examples/ssd/ssd_pascal.py 或者python examples/ssd/score_ss...
    99+
    2023-01-31
    python sudo
  • Android基于Sqlite怎么实现注册和登录功能
    本篇内容主要讲解“Android基于Sqlite怎么实现注册和登录功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android基于Sqlite怎么实现注册和登录功能”吧!实现逻辑项目的图片结...
    99+
    2023-06-30
  • 关于replicate_do_db和replicate_ignore_db的坑
    介绍 MySQL5.7官方文档关于相关参数的介绍:https://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html 在5.7版本支...
    99+
    2024-04-02
  • python3下关于copy和deepc
         很多人在学习python3的时候,在字典部分copy和deepcopy感到很困惑,现在针对这两个方法进行区分,即一种是浅复制(copy),一种是深度复制(deepcopy)。开头先下个结论我们日常所说的复制(自己在电脑硬盘上的复制...
    99+
    2023-01-31
    copy deepc
  • 关于ObjectUtils.isEmpty() 和 null 的区别
    目录ObjectUtils.isEmpty()和null区别分配内存和赋值的区别Spring5.3之后StringUtils.isEmpty被弃用解决办法ObjectUtils.is...
    99+
    2024-04-02
  • 关于Mybatis Plus中BaseMapper和IService
    1.BaseMapper接口 BaseMapper是Mybatis Plus提供的基础Mapper接口。它提供了常见的CRUD操作方法,如插入、修改、删除和查询等。BaseMapper是一个通用接口,...
    99+
    2023-08-31
    mybatis java 后端
  • 3、Nginx关于server块和loc
    前面第2篇文章中列出了全局段、events段、http段的一些指令的意义和用法,这篇文章将介绍server段和location段的相关指令。server段配置listen:listen指令有三种配置方法:1、listen address[:...
    99+
    2023-01-31
    Nginx server loc
  • 关于prop和props的区别
    在React中,prop是component的属性,它是一个对象,用于从父组件向子组件传递数据。prop是component的一个只...
    99+
    2023-08-19
    区别
  • 关于WM_CLOSE和OnCancel的问题
    WM_CLOSE是一个Windows消息,用于关闭一个窗口。当用户点击窗口的关闭按钮或者调用CloseWindow函数时,系统会发送...
    99+
    2023-08-08
    WM_CLOSE
  • 关于GetDC()和ReleaseDC()的问题
    GetDC()和ReleaseDC()是用来获取和释放设备上下文句柄的函数,可以用于在Windows操作系统中进行绘图操作。GetD...
    99+
    2023-08-08
    GetDC()
  • 关于JS中的全等和不全等、等于和不等于问题
    目录全等和不全等全等不全等相等和不相等相等不相等全等和不全等 全等和不全等比较的是符号两侧的操作数,以全等操作符为例,如果操作数满足全等则返回true,否则返回false。全等和不全...
    99+
    2024-04-02
  • 关于JpaRepository的关联查询和@Query查询
    目录一 pom二 启动类三 配置文件四 新建数据库五 实体类1 Clazz2 Student六 控制器七 Repository层1 ClazzRepository2 StudentR...
    99+
    2024-04-02
  • 关于setCapture和releaseCapture的理解和整理
    setCapture和releaseCapture是浏览器的两个DOM方法,用于设置和释放鼠标的捕获。setCapture方法用于将...
    99+
    2023-09-13
    setCapture
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作