一、前期回顾
前两篇文章,使用SQLite数据库加密敏感信息并嵌入程序(1)主要介绍了使用工具和原生函数生成SQLite数据库,使用SQLite数据库加密敏感信息并嵌入程序(2)主要图解了将生成的数据库作为资源嵌入到程序中使用,由于该数据库保存了敏感信息,我们的目标是在程序运行时在内存中读取相关数据,而无需使用将资源保存到临时文件再获取信息的方案。
二、SQLite跨平台利器VFS简介
SQLite可移植到不同平台,在各操作系统上都能很好且高效一致的工作的主要原因是在底层与操作系统的交互上定义了一个虚拟文件系统,即VFS(Virtual File System)对象:操作系统接口对象,这是 SQLite 可跨操作系统移植的主要原因。
每当 SQLite 中的任何其他模块需要与操作系统通信时,它们都会调用 VFS 中的方法。VFS 然后调用满足请求所需的特定于操作的代码。因此,将 SQLite 移植到新的操作系统只需编写一个新的操作系统接口层或 “VFS” 即可。
可以同时注册多个 VFS,只需保证每个 VFS 都有一个唯一的名称即可。同一进程中的单独数据库连接可以同时使用不同的 VFS。Windows 版本带有多个内置 VFS。默认的 Windows VFS 称为“win32”,适用于大多数应用程序。图1显示了 SQLite 源码中定义的 sqlite3_vfs 对象结构。

最低0.47元/天 解锁文章
2458

被折叠的 条评论
为什么被折叠?



