我正在思考从C ++运行时关系数据库(std :: maps for indexes,std :: vectors for columns等)切换到使用内存中的sqlite数据库的可能性。这主要是为了代码维护。 (几个月后回头看我的代码花了一些时间重新熟悉我使用C ++组件设计的模式;使用SQL语句至少会更自我记录。)
这里存在障碍:数据未经加密就无法触及二级存储。我目前的解决方案在冲洗之前非常适合加密。然而,Sqlite似乎是它自己的不透明的,独立的生态系统,它不会像将任何但数据库一样操纵底层数据库二进制数据。
所以,我很好奇是否有人知道某种方式,或者已经开发了一种方法,在sqlite备份系统中加入一个加密钩子:memory - >加密 - >光盘,然后反过来。或者,我也可以将内存数据库作为二进制文件" blob"在我自己写出来之前做自己的事情(并在重新加载时反转过程)。我没有在sqlite备份API中看到任何明显可用的机会。
注意:我对使用SEE的东西不感兴趣,只有"公共领域" sqlite提供。我的应用程序中已经有足够的加密代码(通过Qt),所以我不想要竞争系统。
感谢您的任何建议。