如何在java应用程序中使用密码保护sqlite db

时间:2017-12-22 14:20:44

标签: java sqlite

我正在使用xerial项目中的SQLite JDBC驱动程序。

我可以使用用户名和安全保护我的sqlite数据库吗?用java密码?如果是,怎么样?

感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我不知道,你现在需要这个答案吗?但希望这个答案可以帮助其他面临类似问题的人。

  • 首先,基本的 SQLite 引擎没有任何密码/加密选项。所以你不能设置用户名和密码。
  • 作为基础 SQLite 不包括加密选项。 SQLite 供应商提供付费选项 (SEE),或者其他第三方选项可用。
  • 特别是对于 JDBC,您可以遵循此 github repository。在这里,您可以找到保护 SQLite 数据库的方法。在他们的自述文件中,您会找到这个代码块,说明他们如何创建数据库连接字符串。但在此之前,您必须配置加密模式。
//Using the SQLiteMC default parameters
Connection connection = DriverManager.getConnection("jdbc:sqlite:file:file.db", new SQLiteMCConfig().withKey("Key").toProperties());
Connection connection = new SQLiteMCConfig().withKey("Key").createConnection("jdbc:sqlite:file:file.db");

//Using Chacha20
Connection connection = DriverManager.getConnection("jdbc:sqlite:file:file.db", SQLiteMCChacha20Config.getDefault().withKey("Key").toProperties());
Connection connection = SQLiteMCChacha20Config.getDefault().withKey("Key").createConnection("jdbc:sqlite:file:file.db");
  • 当您使用 JDBC 时,这意味着您的应用程序是基于 Java 的,在这种情况下,H2 DB 将非常适合您的应用程序。它具有很强的安全性features