一尘不染

密码保护SQLite数据库。可能吗?

c#

我必须面对一个新的小项目。它将有大约7或9个表,其中最大的一个表将以每月1000行的最大速度增长。

我考虑将SQLite作为我的数据库…但是如果有人要更改数据库中的数据,我将需要保护数据库。

我的主要问题是:

是否可以像访问时那样用密码保护sqlite数据库?

对于如此小的解决方案,您会建议其他哪些RDBMS?

开发将在C#上进行,但我正在免费搜索。


阅读 498

收藏
2020-05-19

共1个答案

一尘不染

您可以使用密码保护SQLite3数据库。在进行任何操作之前,请按以下步骤设置密码。

SQLiteConnection conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
conn.SetPassword("password");
conn.Open();

然后下次您可以像访问

conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;Password=password;");
conn.Open();

这将不允许任何GUI编辑器查看您的数据。如果提供密码,某些编辑器可以解密数据库。使用的算法是RSA。

以后,如果您想更改密码,请使用

conn.ChangePassword("new_password");

要重置或删除密码,请使用

conn.ChangePassword(String.Empty);
2020-05-19