我必须面对一个新的小项目。它将有大约7到9个表,其中最大的表将以每月1000行的最大速度增长。
我把SQLite当做我的数据库。但我需要保护数据库,以防有人想要更改数据库中的数据。
我的主要问题是:
是否可以像在访问时那样使用密码保护sqlite数据库?
对于这么小的解决方案,您还推荐其他什么RDBMS?
开发将在C#上进行,但我正在搜索一些免费的东西。
发布于 2014-06-22 16:17:52
您可以对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编辑器查看您的数据。如果您提供密码,某些编辑器可以解密DB。使用的算法是RSA。
稍后,如果您希望更改密码,请使用
conn.ChangePassword("new_password");
要重置或删除密码,请使用
conn.ChangePassword(String.Empty);
发布于 2010-12-13 01:29:16
使用SQLCipher,它是SQLite的开源扩展,为数据库文件提供透明的256位加密。http://sqlcipher.net
发布于 2009-09-04 20:06:21
一种选择是VistaDB。它们允许对数据库(甚至是表)进行密码保护(以及可选的加密)。
https://stackoverflow.com/questions/1381264
复制相似问题