如何在电子应用程序中加密 SQLite DB?

Sp *_*sha 5 sqlite sqlcipher electron

我有一个电子应用程序,它将数据保存在存储在我的机器中的 SQLite 数据库中。我已经完成了 CRUD 操作的所有设置,并且应用程序运行良好。现在我需要加密 SQLite DB 文件。我在网上搜索解决方案,但所有解决方案都是针对预加密的数据库,该数据库正在电子内部解密。

要求是,用户将提供应用程序用于加密数据库文件的密码,并且用户将提供用于解密和执行 CRUD 操作的密码

知道如何实现这一目标吗?

PS:我检查过 SQLCipher 文档,但没有找到我需要的东西。到目前为止,我正在使用sqlite3节点模块来执行 CRUD

编辑1:我尝试使用sqlite-cipher模块,并且能够在单独的 js 文件中加密数据库。但是当我将其与电子 ipcMain 集成时,应用程序由于高 RAM 消耗而关闭。有什么建议么???

小智 3

如果您使用 SQLite,最好的选择是使用 SQLCipher。问题是您必须编译新的二进制文件才能工作,并且 Node 的 SQLite 和 SQLcipher 版本存在一些限制。

您可以使用此包: https: //github.com/journeyapps/node-sqlcipher

或手动编译,这里有一个示例https://gist.github.com/aguynamedben/14253e34bc7e0a881d99c8e45eb45a47