如何在electron应用程序中加密SQLite DB?
我有一个electron应用程序,它将数据保存在存储在我机器中的SQLite db中。我有CRUD操作的所有设置,应用程序运行良好。现在我需要加密SQLite DB文件。我在网上搜索解决方案,但所有的解决方案都是预加密的数据库,该数据库在Electron内部被解密 要求是,用户将提供密码,应用程序将使用该密码加密DB文件,前进用户将提供密码以解密和执行CRUD操作 你知道如何做到这一点吗 p.S.:我已经检查了SQLCipher文档,但没有找到我需要的。到目前为止,我正在使用sqlite3节点模块执行CRUD 编辑1:我尝试使用模块,并且能够在单独的js文件中加密db。但当我将其与主应用程序集成时,应用程序会因为高RAM消耗而关闭。如何在electron应用程序中加密SQLite DB?,sqlite,electron,sqlcipher,Sqlite,Electron,Sqlcipher,我有一个electron应用程序,它将数据保存在存储在我机器中的SQLite db中。我有CRUD操作的所有设置,应用程序运行良好。现在我需要加密SQLite DB文件。我在网上搜索解决方案,但所有的解决方案都是预加密的数据库,该数据库在Electron内部被解密 要求是,用户将提供密码,应用程序将使用该密码加密DB文件,前进用户将提供密码以解密和执行CRUD操作 你知道如何做到这一点吗 p.S.:我已经检查了SQLCipher文档,但没有找到我需要的。到目前为止,我正在使用sqlite3节点模
有什么建议吗 电子应用程序中的加密是一件棘手的事情。 这是因为它会给你虚假的安全感 您可以加密本地数据库,但使用electron很容易将其解密回来,可能根本不值得? 很容易获得电子应用程序的来源。缩小只有一点点帮助,但这不是真正的保护 你可以采取很多方法,但具体情况不同。 需要回答的问题有:
- 你想保护谁李>
- 安全性是否至关重要,或者这只是基本措施,因此并非每个人都可以首先从数据库获取数据 一瞥李>
- 使用该应用程序的用户是否拥有该应用程序的管理员用户权限 机器李>
- 您是通过electron应用程序直接访问db,还是通过其他方式 一种系统范围服务(deamon)正在与db和 将结果传递给electron应用程序李>
- 如果“是”,您如何沟通 使用electron应用程序提供服务,如何确保安全
如果使用SQLite,最好的选择是使用SQLCipher。问题是您必须编译新的二进制文件才能工作,并且SQLite和SQLcipher for node的版本存在一些限制 您可以使用此软件包:
或者手动编译,这里有一个示例Hi,感谢您的回复。您所解释的是关于electron应用程序的加密。但我的问题是关于加密我在我的电子应用程序中使用的SQLite文件。有什么想法吗?所有这些话甚至都没有接近于真正回答这个问题。。。